{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "9ccb9cbc",
   "metadata": {},
   "outputs": [],
   "source": [
    "# import sklearn\n",
    "# sklearn.show_versions()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "2fcb0aef",
   "metadata": {},
   "outputs": [],
   "source": [
    "from time import time\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "from sklearn.model_selection import RandomizedSearchCV\n",
    "\n",
    "# Load the Labeled Faces in the Wild (LFW) people dataset (classification).\n",
    "from sklearn.datasets import fetch_lfw_people\n",
    "\n",
    "# Build a text report showing the main classification metrics.\n",
    "from sklearn.metrics import classification_report\n",
    "\n",
    "from sklearn.metrics import ConfusionMatrixDisplay\n",
    "\n",
    "# Standardize features by removing the mean and scaling to unit variance.\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.decomposition import PCA\n",
    "from sklearn.svm import SVC\n",
    "from sklearn.utils.fixes import loguniform\n",
    "\n",
    "\n",
    "# 本来想用thundersvm来调用gpu加速svm运算，结果它太久没更新了，用的libcusparse.so.9.0是\n",
    "# cuda toolkit9.0版本的。但是cuda toolkit9.0只支持version17.的ubuntu，故放弃\n",
    "# libcusparse.so.9.0: cannot open shared object file: No such file or directory\n",
    "# from thundersvm import SVC\n",
    "# import torch\n",
    "\n",
    "# from cuml.svm import SVC"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "c1729e9d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Totao dataset size:\n",
      "n_samples: 1288\n",
      "n_features: 1850\n",
      "n_classes: 7\n"
     ]
    }
   ],
   "source": [
    "lfw_people = fetch_lfw_people(min_faces_per_person=70, resize=0.4)\n",
    "# lfw_people = fetch_lfw_people( resize=0.4)\n",
    "# introspect the images arrays to find the shapes (for plotting)\n",
    "n_samples, h, w = lfw_people.images.shape\n",
    "\n",
    "# for machine learning we use the 2 data directly (as relative pixel\n",
    "# positions info is ignored by this model)\n",
    "X = lfw_people.data\n",
    "n_features = X.shape[1]\n",
    "\n",
    "# the label to predict is the id of the person\n",
    "y = lfw_people.target\n",
    "target_names = lfw_people.target_names\n",
    "n_classes = target_names.shape[0]\n",
    "\n",
    "print('Totao dataset size:')\n",
    "print('n_samples: %d' % n_samples)\n",
    "print('n_features: %d' % n_features)\n",
    "print('n_classes: %d' % n_classes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "b0ecbe92",
   "metadata": {},
   "outputs": [],
   "source": [
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)\n",
    "\n",
    "# Standardize features by removing the mean and scaling to unit variance.\n",
    "scaler = StandardScaler()\n",
    "X_train = scaler.fit_transform(X_train)\n",
    "X_test = scaler.transform(X_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b467d9d3",
   "metadata": {},
   "source": [
    "## 10维的人脸识别识别率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "40e8fa54",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting the top 10 eigenfaces from 966 faces\n",
      "done in 0.092s\n",
      "Projecting the input data on the eigenfaces orthonormal basis\n",
      "done in 0.011s\n"
     ]
    }
   ],
   "source": [
    "n_components = 10\n",
    "print('Extracting the top %d eigenfaces from %d faces' % (n_components, X_train.shape[0]))\n",
    "t0 = time()\n",
    "pca = PCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "eigenfaces = pca.components_.reshape((n_components, h, w))\n",
    "\n",
    "print('Projecting the input data on the eigenfaces orthonormal basis')\n",
    "t0 = time()\n",
    "X_train_pca = pca.transform(X_train)\n",
    "X_test_pca = pca.transform(X_test)\n",
    "print('done in %0.3fs' % (time() - t0))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "0cd0114c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting the classifier to the training set\n",
      "done in 16.121s\n",
      "Best estimator found by grid search:\n",
      "SVC(C=1364.3257920959747, class_weight='balanced', gamma=0.0026229838567438353)\n"
     ]
    }
   ],
   "source": [
    "print(\"Fitting the classifier to the training set\")\n",
    "t0 = time()\n",
    "param_grid = {\n",
    "    \"C\": loguniform(1e3, 1e5),\n",
    "    \"gamma\": loguniform(1e-4, 1e-1),\n",
    "}\n",
    "clf = RandomizedSearchCV(\n",
    "    SVC(kernel=\"rbf\", class_weight=\"balanced\"), param_grid, n_iter=10\n",
    ")\n",
    "clf = clf.fit(X_train_pca, y_train)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "print(\"Best estimator found by grid search:\")\n",
    "print(clf.best_estimator_)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "cf9b1401",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predicting people's names on the test set\n",
      "done in 0.027s\n"
     ]
    }
   ],
   "source": [
    "print(\"Predicting people's names on the test set\")\n",
    "t0 = time()\n",
    "y_pred = clf.predict(X_test_pca)\n",
    "print(\"done in %0.3fs\" % (time() - t0))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "83847072",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   precision    recall  f1-score   support\n",
      "\n",
      "     Ariel Sharon       0.13      0.38      0.19        13\n",
      "     Colin Powell       0.53      0.53      0.53        60\n",
      "  Donald Rumsfeld       0.37      0.48      0.42        27\n",
      "    George W Bush       0.81      0.57      0.67       146\n",
      "Gerhard Schroeder       0.28      0.36      0.32        25\n",
      "      Hugo Chavez       0.17      0.33      0.23        15\n",
      "       Tony Blair       0.38      0.25      0.30        36\n",
      "\n",
      "         accuracy                           0.48       322\n",
      "        macro avg       0.38      0.42      0.38       322\n",
      "     weighted avg       0.57      0.48      0.51       322\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x7f1278d11ca0>"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAFbCAYAAADLHMmaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABcxklEQVR4nO2dd5wV1fn/35/dZem9iwh2o4igWMAS7CkmajRqitFEoyb27w8TEk1i1BgTSTSxYyzYsBuNDWwoCNKRojQpAoIISIeF3X1+f8y5cFl2715gZ+6Ffd6v17z2zpmZ8zlzd3eeOec553lkZjiO4zhOVRTkugGO4zhOfuOGwnEcx8mIGwrHcRwnI24oHMdxnIy4oXAcx3Ey4obCcRzHyUhRrhvgJEdxQX2rX9g4N+JlZbnRzTVSTuWtvDx34rm89RzN+l/PGjZYyQ7d+anHN7Sly7L7fxk7sWSQmX1rR/SywQ1FLaJ+YWN6tjg7J9q2alVOdHNOnTo5lS/P4feuotw9Xqy0NCe6I+2dHa5jybJShr/ZIatz6+02u9UOC2aBGwrHcZw8woDyXHWJqsANheM4Tp5RTg6HDCvBndmO4zh5hGGUWXZbNki6VtIUSZMlDZRUT9KekkZKminpGUnFmepwQ+E4jpNnlGNZbdUhqQNwFdDDzLoAhcB5wN+AO8xsH+Br4KJM9bihcBzHySMMKMOy2rKkCKgvqQhoACwETgCeD8cHAGdUV4HjOI6TJxiw0WrGR2FmCyT1Az4H1gGDgbHAcjNLTQ2bD2ScZuU9CsdxnDyjPMsNaCVpTNp2SXo9kpoDpwN7ArsBDYFtXnfhPQrHcZw8wrZtWGmJmfXIcPwkYLaZfQUg6UXgaKCZpKLQq9gdWJBJxHsUjuM4+YRBWZZbFnwOHCWpgSQBJwKfAO8BqdW3FwAvZ6rEexROtTzy+jDWrS2krEyUl4mrf3xkIrqt2pfQp99nNG+1ETPxxtNtePnRdru8dp3icm5/ciJ1isspLIRhg1ryxF2dEtEG6NF7JZfd/AWFBcYbA1vw7N1tE9O+9vY5HHniCpYvLeKykw9KTBdye9/pRAvuaqgus5GSngfGAaXAeKA/8BrwtKRbQtlDmeqpFYZC0hnAS8A3zGxqhvOGm1mvaupabWaNKim/HvgxUEb0e740/JLmEE1NW7IDt5Bz+l58GCuXZ5xqXeOUlYoHb+3EZ1MaUr9hGf9+ZTLjhzXh85kNdmntjRtE3wsOZv3aQgqLyun31ETGfNCcqR83iV27oMC4/NYF/O68vViysA53vT6DjwY15fMZ9WLXBnjruZb8b0Ab+twxOxG9FLm+73QMsdFqLlCWmf0J+FOF4lnAEdnWUVuGnn4EDAs/tyJMG6M6I1EVknoCpwGHmllXonHBedvX1K3bVVv5+qtiPpvSEIB1awqZN7MeLdtt3OW1QaxfWwhAUZFRVGRYDT44MrF/97V8MaeYRZ/XpXRjAUNebkbPU1ckog0weVRjVi0vTEwvRa7vuyJlKKstKXZ5QyGpEXAM0YKS89LKe0saKukVojE7JK1OO36dpNGSJkr6czUy7YmcSiUAZrbEzL5IO36lpHGSJkk6INR/hKQRksZLGi5p/1B+oaRXJL0LvCOphaT/hnZ8JKlrOO9GSQ9LGiJplqSrdvS7qgoDbrl/PP8aOJJvnTU/LpmMtOlQwt4HrWXahIa1QrugwLj7v+MZOHwk44c3Y9rEZKL+tmy3ka++2NxzXLKwDq3aJ2Ugc0c+3Xe0jiK/DEVteGM9HXjTzKZLWirpMDMbG44dCnQxsy36uZJOAfYl6poJeEXScWb2QRUag4E/SpoOvA08Y2bvpx1fYmaHSvo10Ae4GJgKHGtmpZJOAm4FzkprV1czWybpLmC8mZ0h6QTgMaBbOO8A4HigMTBN0n1mtsVfd5gudwlAvYKtRsyy4roLe7B0cT2attjAX+4fx/zZDZk8rvl21bU91GtQxg33TueBmzuxdnWyf7K50i4vF1ec0Z2GjUv5wz2f0mnfNcydkbyRdHJDeUI9yGzZ5XsURMNNT4fPT7Pl8NOoikYicErYxhM5gQ4gMhyVYmargcOIHshfAc9IujDtlBfDz7FA5/C5KfCcpMnAHUC65+4tM1sWPh8DPB503gVaSkoNVr9mZiXB/7EY2Mr7Zmb9zayHmfUoLqhf1S1kZOniaJx2xbJiRrzbmv26rNyueraHwqJybrh3Bu+90orhg1okpptr7RRrVhUxcWRTehz7dSJ6SxfVofVuGzbtt2q/kSULcxsqPQny6b7zsUexSxsKSS2Ilqr/JziVrwPOCdPEANZUdSnwVzPrFrZ9zCzjrAAzKzOzIcFxdAWbewcAJeFnGZt7cTcD74X4K98D0r1mVbWrIiVpn9PrrjHq1i+jfoPSTZ+791zG3JlJvdka19w2m3mf1eelh9onpJl77abNN9KwcfSdF9cto3uv5cybFb8THWDahAZ02HMDbTuWUFSnnN6nL+ejwU0T0c4l+XTfhiijIKstKXb1oaezgcfN7NJUgaT3gWOruW4QcLOkJ81sdQistdHMFld2cvAvlJvZjFDUDZhbjUZTNi9yuTDDeUOBn4T29CYaxlqphDKnNW9Rwg13TASgsMgY8no7xg5PJFcKB/VYzUk/WMLsqfW5+9VJAAzo15HRQ5rt0trN22ygz23TKSg0JBj6ZitGDUmmR1NeJu65vgO3PjWLgkIY/HQL5k5PbuZP37tm0bXnKpo0L+XxkRN54p+7MeiZ+P/ecn3f6UQhPPLrHX5XNxQ/IoqSmM4LofyZqi4ys8GSvgGMCA/k1cBPiYZ3KqMRcJekZkRzlWcS/AIZ+DswQNINRHOaq+JG4GFJE4G1RItjEmPRggZccc5RSUpuYsqYxnx7r2TWbOST9pxpDbnizO450QYY/W4TRr8b/1Tcyrjtyr1yogu5ve8tEWV5ZihkWcY0d3Z+mtZpY54KNWE8FWpOyGUq1JW2bIe6+/t3rWf9X9kjq3N77zljbDUhPGqEXb1H4TiOs9ORpKM6G9xQOI7j5BFm+Tf05IbCcRwnzyj3HoXjOI5TFYbYYPn1aM6v1jiO49RyouixPvTkOI7jZKAsz0J4uKFwHMfJI1Irs/MJNxSO4zh5RrnPenIcx3GqohyxwZLPyZEJNxS1icICaJZMXoOKLPhZlcF3Y6fjU7Nypl2bsXXrcqZd0Dg3f+daXTM9gZpyZoc4dOnhivYC/kiUruAZomjWc4BzzKzKEMX51b9xHMep5ZhBmRVktVVfl01LRcEmSoWwligtdF/gHTPbF3gn7FeJGwrHcZy8QpRnuW0jJwKfmdlcooRuA0L5AOCMTBf60JPjOE4eYRBXCI/zgIHhc1szWxg+L6KSpGfpuKFwHMfJM7ZhemwrSWPS9vubWf+KJ0kqBr4P/K7iMTMzSRnDiLuhcBzHySMMsTH7WU9Lsgwz/m1gnJl9Gfa/lNTezBZKak/VuXYA91E4juPkFUa0jiKbbRv4EZuHnQBeYXMStAuAlzNd7D0Kx3GcvEI1mo9CUkPgZODStOLbgGclXUSUtvmcTHW4oXAcx8kjUj2KGqvPbA3QskLZUqJZUFnhhsJxHCfP8Ax3juM4TpWYyWM9OY7jOFVjsC2znhLBDYVTLaefNZNTT5uDBG++2pmXn98nNq3iwlIeOfdligvLKCwo5+0Ze3Hv8CP463fe5qC2iyktL2DSorbc/NZxlJbH+8/UsNFGrvrDFDrtsxoM7vxzF6ZOaharZq616xSXc/uTE6lTXE5hIQwb1JIn7uoUu26Ka2+fw5EnrmD50iIuO/mgxHRzfd9b4jmzc4KkdsCdwOHAcuBL4Bozm17F+Z2BV82si6QewM/M7Kpt0JsDrCJ6OVgUrl+0A7dQlc5qM2uU3t6a1ui050pOPW0O117Wm42lBdz89+GMGtGOhQsa1bQUABvKCrn4ue+zbmMdigrKGHDefxk2ew9e+3Rffvd65Hv723ff5gcHf8qzH9f47W7BJddNZeyIVvz1t90oKiqnbr2yWPXyQXvjBtH3goNZv7aQwqJy+j01kTEfNGfqx00S0X/ruZb8b0Ab+twxOxG9FLm+73QiZ3Z++Sjyy2zFgCQRBcEaYmZ7m9lhRKsTMy5ZT2FmY7bFSKRxvJl1BcYAv9+O6/OCjp1WMe3TFpSUFFFeVsDkj1tx9HFfxKgo1m2sA0BRQTlFBeWYiWGzOwECxKSFbWjbaE2MbYAGjTbSpfvXDP5vBwBKSwtYs7pOrJr5oA1i/dqop1ZUZBQVGZbgQ2vyqMasWp6LYZfc3ndFyijIakuKXd5QAMcDG83s/lSBmX1sZkMVcbukyZImSTq34sWSekt6NXy+UdLDkoZImiUpGwPyAbCPpHqSHgk64yUdH+p8TVLX8Hm8pD+GzzdJ+mX4fJ2k0ZImSvrzDn8j28Dc2Y3p0nUJjZuUULduKT2OWkSrNvGGjy5QOc+e/yxDfvUoI+buzqRFm216UUEZ3ztwOh/O6RhrG9rtto4VX9fh2hsn8+8nh3PVHyZTt15prJr5oA1QUGDc/d/xDBw+kvHDmzFtYm5CdidNvty3Icotuy0paoOh6AKMreLYD4BuwCHAScDtYTl7Jg4ATgWOAP4kqbpXvdOAScDlRGFVDiZaJTlAUj1gKHCspKZAKXB0uO5Y4ANJpwD7Br1uwGGSjqtGcxOSLpE0RtKYDWXb/oCfN7cJzz21H7f0G87Ntw9n1sxmlJfF+wdabgWc8/g5nNz/Z3Rpt5h9Wi7ddOz6E4cydn57xi3YLdY2FBQa+xywitef78hVP+nF+nWF/PDnyQyH5FIboLxcXHFGd87/5hHs13U1nfaNt/eWL+TLfZtFzuxstqSoDYYiE8cAA82sLMRAeZ/Ij5GJ18ysxMyWEMVHqWoI6z1JE4AmwF+D1hMAZjaVaDXkfkSG4jgiA/Ea0EhSA2BPM5sGnBK28cA4IkOVdRYgM+tvZj3MrEdxYf1sL9uCwa935upLjuc3Vx3H6lV1WDA/Hv9ERVaV1GX0vA4cvec8AC7rOZrmDdZx+5Cjq7lyx1m6uB5LFtdl2uRmAHz4djv2OWBl7Lq51k5nzaoiJo5sSo9jq8xns0uSD/ftPYrkmUKUsKOmKEn7XEbVEwKODwlDfmZmyzPUNxroQehBEBmEX7K5FyTgr6nkI2a2j5k9tEN3sI00bRbdcus2a+l17BcMeXv32LSa119H47qRXt2iUnp2msfsZc34wcGf0KvzPH772slYAouRvl5al6++rEeHTtFb5SFHLOXzWckYyFxqN22+kYaNo2Gu4rpldO+1nHmzGiSinUvy6b6joacaj/W0Q9SGWU/vArdKuiQVfjf4BJoSvc1fKmkA0ILozf46oF4M7RgK/AR4V9J+wB7ANDPbIGke8EPgJqA10C9sAIOAmyU9aWarJXUg8rlkjPZYk1x/80iaNNlAaam4985DWLO6ODatVg3Xcsu336VQ5RTIGDRtHz6Y1Zlx197PwpWNefxHLwLwzoy9eOCjbIJmbj8P/P0bXHfLRIrqlLNoQQPuvDHeWVb5oN28zQb63DadgkJDgqFvtmLUkBaJaAP0vWsWXXuuoknzUh4fOZEn/rkbg55pFbturu+7Ir4yO2FCrPUzgTsl/RZYT5Qj9hpgGNAT+JhoVtpvzGxRmG5a09wL3CdpEpEv4kIzS/VOhgInmtk6SUOB3UMZZjZY0jeAEdEELlYDP6WasMA1yW+uzNolssPMWNKScx//4Vblh95xWWJtSDFrehOuOb9n4rq51J4zrSFXnNk9cd0Ut125V050c33f6eTj9FiZZcxX4exCNK3Xznp2uqD6E2Ng/vfb5UQXoONTs3KmnWvKV+fOEW3r4p0dlwnV3z5/3I7y0epXWFG2ZIee8q0PbGVnPvbdrM598PDHxmaZj2KH2OV7FI7jODsT0ayn/HIfu6FwHMfJMzwooOM4jlMlqQV3+YQbCsdxnDyjPM9mPeVX/8ZxHKeWk5r1VFML7iQ1k/S8pKmSPpXUU1ILSW9JmhF+Ns9UhxsKx3GcfMJEaXlhVluW/At408wOIApX9CnQF3jHzPYF3gn7VeKGwnEcJ48woqGnbLbqCDHkjgMeAjCzDSFSxOnAgHDaAOCMTPW4oXAcx8kzanDoaU/gK+CREJ36P5IaAm3NbGE4ZxHVpF1wQ+E4jpNHbKOPolUqOnTYLqlQXRFwKHCfmXUH1lBhmMmiVdcZV177rKfaRFk5LF+VE+kO/b/KiS5A2QGdc6atSTNypp1rVJS7x0v5qtz8nZuV10g92zA9dkk1K7PnA/PNbGTYf57IUHwpqb2ZLQypFTKGBPIeheM4Th5Rk4mLQgrmeZL2D0UnAp8ArwCpeD4XAC9nqsd7FI7jOPmEQWnNrsy+EnhSUjEwC/g5USfhWUkXEeXGOSdTBW4oHMdx8oiajh5rZhOIct5U5MRs63BD4TiOk2d4CA/HcRynSjzWk+M4jlMt5obCcRzHyUS+BQV0Q+E4jpNHmEFZeX6tXHBD4TiOk1e4j8JxHMepBvdROI7jOFVS0+soagI3FE61PPL6MNatLaSsTJSXiat/fGQiunWKy7n9yYnUKS6nsBCGDWrJE3d1ik3v2itHcGSP+SxfUY/LrvoeAD/78QR6Hjmf8nKxfEU9/vHvnixb1iC2NgC0al9Cn36f0bzVRszEG0+34eVH28WqWdu1AXr0XsllN39BYYHxxsAWPHt3xoCq8WGRnyKfyLmhkFQGTALqAKXAY8AdVlPRtTbrDAH6mNmYCuUXAj3M7IpKym8HFgD1gAfM7I6abFMFvWOB+4GNQE8zW1fFeavNrFEl5Y8Cr5rZ83G0r+/Fh7FyeXEcVVfJxg2i7wUHs35tIYVF5fR7aiJjPmjO1I+bxKL31jt78b/X9qPPNcM3lT3/0oE89lQ3AE4/bSo/OXcSd90Xr6EsKxUP3tqJz6Y0pH7DMv79ymTGD2vC5zPjNVC1WbugwLj81gX87ry9WLKwDne9PoOPBjXl8xn1YteuiAFlNRvCY4fJh9asM7NuZnYQcDLwbeBPOW5TimfMrBtwNHC9pI4xav0E+Gv4Lio1ErUPsX5tlMWrqMgoKrJYx24nf9KWVavrblG2dt1m41ivbmkib3pff1XMZ1MaArBuTSHzZtajZbuN8QvXYu39u6/liznFLPq8LqUbCxjycjN6nroiEe2tqbmggDVFPhiKTZjZYuAS4ApF1JP0iKRJIenG8RC97Ut6UdKbIefr31N1SLovxGWfIunPlelI+rmk6ZJGERmB6tq1FJgJtJfUWdLktLr6SLoxfB4i6Y6g/6mkw0M7Z0i6JZzTUNJrkj6WNFnSuZIuJgrKdbOkJ8N510kaLWliZfcRvp+7JU2T9DbQJsuveZsx4Jb7x/OvgSP51lnz45KplIIC4+7/jmfg8JGMH96MaRMbJ6oPcMFPJ/D4Qy9y/Ddn8/hThySq3aZDCXsftJZpExomqlvbtFu228hXX2x+KViysA6t2idjpCrDLLstKXI+9FQRM5slqZDowffTqMgOlnQAMFjSfuHUbkB3oASYJukuM5sHXG9my0Id70jqamYTU/WH2Ot/Bg4DVgDvAeMztUnSHkTDTxOB6gZNN5hZD0lXE4XuPQxYBnwm6Q6gN/CFmX031N3UzFZIOoYwdCTpFGBf4AhAwCuSjjOzD9J0zgT2Bw4kyk71CfBwJW2/hMj4Uq9gqxGrrLjuwh4sXVyPpi028Jf7xzF/dkMmj8uYi73GKC8XV5zRnYaNS/nDPZ/Sad81zJ2R7INrwBPdGPBEN849azLf++40nhiYjLGo16CMG+6dzgM3d2Lt6mT/VWurdr6Qb7Oe8qpHUQnHAE8AmNlUonC4KUPxjpmtMLP1RA/JlJfzHEnjiB7+BxE9SNM5EhhiZl+Z2QbgmQz650qaSNSbuDdoVccr4eckYIqZLTSzEqLwvh1D+cmS/ibpWDOrrH97StjGA+OAA4gMRzrHAQPNrMzMvgDerawxZtbfzHqYWY/igvpZNH9rli6OxmlXLCtmxLut2a/Lyu2qZ0dYs6qIiSOb0uPYrxPXTvHu+3tyTM/PE9EqLCrnhntn8N4rrRg+qEUimrVZe+miOrTebcOm/VbtN7JkYZ3E9NOJegvKakuKvDMUkvYCyqgm4xJRTyJFGVAkaU+gD3CimXUFXiPqCWwvz4R6egG3SWpH5HBP/94q1p9qV3mFNpYDRWY2nSg14STgFkl/rERXbPZXdDOzfczsoR24j+2mbv0y6jco3fS5e89lzJ2ZzBt90+Ybadg40i6uW0b3XsuZNyt+x2Y6u7XfbBR7HjmPeQuaJqBqXHPbbOZ9Vp+XHmqfgJ5rT5vQgA57bqBtxxKK6pTT+/TlfDQ4id915eSbjyKv+nWSWhPN/LnbzEzSUCIn77thyGkPYBrRg7YymhDlhF0hqS2RY3xIhXNGAv+S1BJYCfwQ+DhTu8xsjKTHgauBPwJtwvWrgdOAN7fhHncDlpnZE5KWAxdXctoggr/CzFZL6gBsDD6cFB8Al0oaQDRMdzzwVLbtyJbmLUq44Y5o5K6wyBjyejvGDm9V0zKVa7fZQJ/bplNQaEgw9M1WjBoS31tm3/83lK5dvqRJkxIef+hFnhjYlcMPW8DuHVZiJr5c3DD2GU8AB/VYzUk/WMLsqfW5+9VJAAzo15HRQ5q5dkyUl4l7ru/ArU/NoqAQBj/dgrnTk5/xtKk95fk19JQPhqK+pAlsnh77OPDPcOxe4D5Jk8KxC82sRKr8SzSzjyWNB6YC84APKzlnYXA+jwCWAxOybOffiIaBbgVuAkYRTZ2dmuX1KQ4GbpdUTjQV9leVtHGwpG8AI8K9riby16QbipeAE4iG3T4P91PjLFrQgCvOOSqOqqtlzrSGXHFm98T0bvvHsVuVDXp7n8T0U0wZ05hv75XMWhXX3szod5sw+t14pl5vC0ayw0rZIMu3lR1ObDSt08Z6tjg7J9q2Phv3TkzaB3TOmbYmzciZdm2mPEd/byPtHVbash16ytfbp4N1+vulWZ07/aw/jTWzyrLX1Sj50KNwHMdxUljNznqSNAdYReTLLQ2zMlsQTeTpDMwBzjGzKmeK5J0z23Ecp9ZjWW7Zc3yYGJPqffQlmjm6L/BO2K8SNxSO4zh5RgLTY08HBoTPA4AzMp1c5dCTpLvIYLPM7KrtaJzjOI6TAWObZj21kpQev66/mfWvpMrBkowoZl1/oK2ZLQzHFxEt2q2STD6KMRmOOY7jOHFgQPa9hSVZOLOPMbMFktoAb0naYqZmWIqQcSCrSkNhZgPS9yU1MLO11bXacRzH2TFqcjKqmS0IPxdLeokoNNCXktqH5QLtqWaBc7U+Ckk9JX1CWC8g6RBJ9+548x3HcZxKqSFndghC2jj1mSg00GSiUEMXhNMuIIpLVyXZTI+9Ezg1VJxa1HZcFtc5juM420yNLrhrC7wUFu4WAU+Z2ZuSRgPPSrqIKIbeOZkqyWodhZnNq7Aaumy7muw4juNkxsBqKISHmc0Ctgp3HFInnJhtPdkYinmSegEmqQ5RvKNPsxVw8gerX8yGg+LMvZSfFH88O2far8/6KGfaAN858Yc50y6vl2xGxHQK51cXUzQetKyG1jDnWcCMbNZRXAZcDnQAviDKA3F5jG1yHMep5SjLLRmqNX9mtoQogqvjOI6TBDtbj0LSXpL+J+krSYslvRxyRjiO4zhxUPMhPHaIbIaengKeBdoDuwHPAQPjbJTjOE6tJbXgLpstIbIxFA3M7HEzKw3bE+xY1jjHcRwnA1ae3ZYUmWI9pVKJvSGpL/A0ka07F3g9gbY5juPUTvIscVEmZ/ZYIsOQanF6Jg0DfhdXoxzHcWozmSMvJU+mWE97JtkQx3Ech8Qd1dmQ1eoQSV2AA0nzTZjZY3E1ynEcp/aSrKM6G6o1FJL+BPQmMhSvA98GhgFuKBzHceIgz3oU2cx6OpsoJsgiM/s5UdyQprG2ynEcpzZTnuWWENkMPa0zs3JJpZKaEMUtr30Bg2oRfS4ZxpHd57F8ZT1++dszN5WfcconfP+UqZSXi5Hjd+fBgYfvUtqVUVBg/OvZsSz9spgbL+8aq9aL/VvzxlMtkGDPA9bz/+74nLt/vzvTJzYAgw57ldDnzs+p37BmnxDX9BnDEUctZPnyuvz64lMAaNR4A7/7w0e0abuWxV824K83HcXq1TUfu+naqz/iyCMWsHx5PS67/LsAXPyL8Rx5xAJKSwv4YmEj/nnnUaxZE3/cqEdeH8a6tYWUlYnyMnH1j4+MXbNSti1xUSJk06MYI6kZ8CDRTKhxwIg4G5VCUltJT0maJWmspBGSzqz+ytjb1UzSUoWQuiFnh0naPew3lbRMUkGF626UtEDSBElTJd1X8Zws9TtLmlwzd7M1gz7Yh9/97eQtyg45cCG9enzOpX1P5+LfnMlzr3XZ5bQr4/Tz5zNvVoPYdZYsrMN/H2rF3W9Mp/970ygrhyEvN+fSPy/g/rencf8702jTYQOvPNyqxrXfHtSJP/zumC3KzvnRVCaMa8MvL/gWE8a14Yc/mlrF1TvGW2/vxQ1/PH6LsnHj23Hpr7/Dr674Dgu+aMy550yJRbsy+l58GFeee1TujERAlt2WFNU+pMzs12a23MzuB04GLghDULESHsL/BT4ws73M7DDgPGD3Gqh7h0I8mtlyYCHwjVDUCxgffgIcBYwyq3RJzB1m1o3I53Mw8M0daUscTJrajlWr625R9v2TpvL0K13ZWFoIwPKV9Xc57Yq0bLuew49byqAX2ieiV1YqStYXUFYKJesKaNl2Iw0bR39CZlCyviCWOHCTJ7Vm1cot39iP6vUFbw/uBMDbgzvR8+gval4YmDylDatWbak9bnx7ysujR9PUqa1o1bIWJtbcWUJ4SDq04ga0AIrC57g5AdgQDBQAZjbXzO4K7SuUdLuk0ZImSro0lCuUT5Y0SdK5oby3pKGSXgE+kVQg6d7wZv+WpNclnR3OPUzS+6EXMyikCqzIcDYbhl7AHRX2P6zm/oqJZpF9HTSHSOoRPreSNCd8PkjSqNALmShp33B9oaQHJU2RNFhSrE/PDu1W0mX/L7nrpv/xjz+8zv57fRWnXF5oX9p3Jg//Y2/KExgLbtV+I2f/ajHnH34gP+rWhYaNyzis9yoA+l3TkfMOOYh5M+ty+i+SufdmzUv4eln0J/X1sno0a16SiG5FTjn5M8aM3S0RLQNuuX88/xo4km+dNT8RzZ2FTD2Kf2TY+sXfNA4iGuaqiouAFWZ2OHA48EtJewI/IAqFfghwEnB72oP+UOBqM9svnNeZ6M3+fKAnQMi5cRdwdujFPAz8pRL9D9lsGPYiioGVSnLei8iQVMa1kiYQ9Uimm9mEDPcIUZj3f4VeSA8g9Re8L3CPmR0ELAfOquxiSZdIGiNpzIYNa6qRqprCwnKaNCrhyj+eRv+nDueGq4aQ1CtNLrSP+OYSli8rZuYnjWPVSbFqeSEjBjVlwMhPeGr8ZNavLeSdF5oD0OfOeTw1fgp77FvC+680T6Q9W6IazeGcLeedO5mysgLefa9zInrXXdiDq847kj9e3p3Tzp1Pl0O/TkS3MlSurLakqNJQmNnxGbYTEmthQNI9kj4OKfwgyv36s/DQHQm0JHp4HgMMNLMyM/sSeJ/IkEA0HJTKYnMM8JyZlZvZIuC9UL4/0AV4K9R9A5UPdw0HegXjNMfM1kfNVCPgsNCmykgNPbUBGko6r5pbHwH8XtJvgU5mti6Uz04zMmOJjN5WmFl/M+thZj2KixtWI1U1S5Y1ZOjoToCY9llrzETTxsm8ZeZC+8DuKzmq9xIeGTyC3/b7hK5HLqfPbZ/Epjd+aCPaddxAs5ZlFNWBo7+znE/GbP59FRZC79O/ZtjryUw4XP51XZq3iP7UmrdYx4rldau5omY5+aRZHHn4Av7erxdJ5V1YujhaJrZiWTEj3m3Nfl1WJqK7FdkOO2VpvMPoy3hJr4b9PSWNlDRT0jOSqp0psM2O1ASZQtQDAMDMLieapts6FAm40sy6hW1PMxtcTZ3ZvFILmJJW78FmdkrFk8xsBtAM+B6bnftjgZ8TGY7VmUTMbCPwJpDKP17K5t9H+sLGp4DvA+uA1yWljHT6k7KMLBdPbi8fjtmDbgcuBKBDuxUUFZWxYlUyD49caD9651787MRe/PyUnvytz4FMHNmMfn0PjE2vTYeNfDquAevXRm/vE4Y1Zo991rNgdvQ/bAYjBjWl497JGOePhu/GSafMBeCkU+by0fBkhn8ADjvsC84+6xNuvOmblJTE+me9ibr1y6jfoHTT5+49lzF35va/WO0wNeujqJiV9G9EL6z7EA19X1RdBcn8FraPd4FbJf3KzO4LZenTTwYBv5L0rpltlLQfsAAYClwqaQCRT+U44DrggAr1fwhcEM5rTbSo8ClgGtBaUk8zGxGGovYzs8qmXnxE9Eu4MOyPAG4hi6CJwVl/NJETHGAOUU9kFNHaldR5ewGzzOzfkvYAugKzqqt/R/j9FUM45BuLaNp4PQPveoYBL3TnzSH70ufSYTz4t5coLS3g7/cdSxxvernUziUHHLqWY7+7gstP3Z/CImOfLuv49k+X8tsf7s3a1YWYwV4HruPK22p+7Pw314+k6yFf0aRpCY89/RpPDDiQ557en9/94SNO+facaHrszUfVuC5A3998SNeDv6RJkxIeH/ASTzzZlXN/OIU6dcq59S/vApFD+657johFP0XzFiXccMdEAAqLjCGvt2Ps8JqfYZYtNTWjKczE/C7R8Pn/hefOCcCPwykDgBuB+yqtYFN7cjH4mCXBt3AHcCTwFVGP4H4zeyZMK72F6I1e4fgZwErg70QryA24JZzfG+hjZqeFuguAe4kMxLxQx9/M7C1J3YB/Ey0sLALuNLMHK2nfdUS/gKZmtk5SZ2A28GMz2ypnh6QbgV+GttYBJgK/CNceQJT3owx4DfipmXVWFLn3fGAjsIjoF9wEeNXMuoR6+wCNzOzGTN9nkya7W48etS+LbU5zZk95r/qTYqS25swuyFHO7BHLnmfFxsU79BZTt2NH2/2aa7M6d1af/zcXWJJW1N/M+qd2JD0P/BVoDPQheqn9KPQmkNQReCP1LKmKbEJ4iCgV6l5mdlN4q21nZqOyupMdwMwWEk2JrexYOfD7sFXkurClnz8EGJJ+vaQ+ZrZaUkuiN/lJ4dgENg8JZWrf7cDtaftzyPCqGx7kN1ZxbCpRbyHFDaH8NuC2CqcvI/KjpK5NYnKB4zhJkf37+xIz61HZAUmnAYvNbGx4Ud5ushl6updosfgJwE3AKuAFNjuId2ZeVbSYsBi4OTi1HcdxcoaMmprRdDTwfUnfIfJ7NgH+BTSTVGRmpUQTdRZUV1E2huJIMztU0ngAM/s6Gy/5zoCZ9c51GxzHcbaiBjwCZvY7Qt6gtKH3n0h6jsgP+jRwAfBydXVlM+tpo6RCQtMltSbRcFSO4zi1i5hDePyWyLE9k2hZwUPVXZBNj+LfwEtAG0l/IbJEN2x3Ex3HcZzM1PAco3QfrZnNArZpGlm1hsLMnpQ0lmgNg4AzzOzTai5zHMdxtoeEA/5lQzaznvYA1gL/Sy8zs8/jbJjjOE6tJc8G97MZenqNqCMkIs/5nkSL0g6KsV2O4zi1lp2uR2FmB6fvh8ixv46tRY7jOE5esc0hPMxsnKTcZvVwHMfZldnZehSS/i9tt4AoUF88WUwcx3FqOzujM5soRkiKUiKfxQvxNMeJldVrKRo2MdetSBwryl3sy2/vf2zOtAHUrixn2gVzcvg+mcPfeY2wMxmKsNCusZn1Sag9juM4tRoB2llmPaVigUg6OskGOY7j1Hp2oh7FKCJ/xISQZ/o50hL/mNmLMbfNcRyn9rGT+ijqAUuJosem1lMY4IbCcRwnDnYiQ9EmzHiazGYDkSLPbsNxHGcXIs+esJkMRSHQiMoT8eTZbTiO4+w67ExDTwvN7KbEWuI4juNEr+E7y6wndrXs9Y7jODsJO1OP4sTEWuE4juNsZmcxFGa2LMmGOI7jOBE7U4/Ccbj29jkceeIKli8t4rKTk40sn0vtVu1L6NPvM5q32oiZeOPpNrz8aLtEtOsUl3P7kxOpU1xOYSEMG9SSJ+7qlIg2wOlnzeTU0+YgwZuvdubl5/dJTBugoMD417NjWfplMTde3jUx3UdeH8a6tYWUlYnyMnH1j3MY+7SGDIWkesAHQF2i5/3zZvYnSXsS5cxuCYwFzjezDVXVk03O7O1tYFtJT0maJWmspBGSztzGOnpLerUG29RZ0uRKygsk/VvSZEmTJI0OX2RV9dwoKfawJknpZOKt51pyw8/2rXXaZaXiwVs7cemph3DtWQdx2vlfssc+axPR3rhB9L3gYC4//VAuP6Mbhx37NQccsjIR7U57ruTU0+Zw7WW9ufyiEzii5yLad1idiHaK08+fz7xZDRLVTNH34sO48tyjcmokss2XnWWvowQ4wcwOAboB35J0FPA34A4z2wf4GrgoUyWxGApJAv4LfGBme5nZYcB5wO7bUMcO93a2oY5zgd2AriH/xpnA8h3UlqTYDHEVmjXeQ5w8qjGrlhfWdLV5r/31V8V8NqUhAOvWFDJvZj1attuYkLpYvza676Iio6jIMEtmbknHTquY9mkLSkqKKC8rYPLHrTj6uOSC+7Vsu57Dj1vKoBfaJ6aZl1iWW3XVRKQsfZ2wGdEC6udD+QDgjEz1xPUgOwHYYGb3pwrMbK6Z3QVRsEFJt4c394mSLg3lvSUNDSFDPgmXNpL0vKSpkp4MRghJfwzXT5bUP618iKQ7JY0BrpZ0mKSPJX0MXF5Fe9sTTQcuD22db2Zfh/q+JWlcqOOdtGsODFqzJF0Vzu0saZqkx4gWKnYM95nqqZybuljSdWn3/+e08uslTZc0DNg/rXxvSW+G3tlQSQeE8kcl3S9pJPD3bfs1OdnQpkMJex+0lmkTGiamWVBg3P3f8QwcPpLxw5sxbWLj6i+qAebObkyXrkto3KSEunVL6XHUIlq1WZeINsClfWfy8D/2pjwH00MNuOX+8fxr4Ei+ddb85BuQRg32KFLP2wnAYuAt4DNguZmVhlPmAx0y1RGXj+IgYFyG4xcBK8zscEl1gQ8lDQ7HDgW6mNlsSb2B7qG+L4APgaOBYcDdqXUekh4HTmNzXu9iM+sRjk0ErjCzDyTdXkV7ngWGSToWeAd4wszGS2oNPAgcF9rTIu2aA4DjicKwT5N0XyjfF7jAzD6SdBZRd+8QoBUwWtIHwMHhvCOIpiG/Iuk4olha54VrisJ3ODbU2x+4zMxmhMRR9xIZZIh6ar3MLHcxpXdR6jUo44Z7p/PAzZ1Yuzo5l155ubjijO40bFzKH+75lE77rmHujPgN1by5TXjuqf24pd9wStYXMmtmM8rLkunNHPHNJSxfVszMTxpz8OFfJ6KZznUX9mDp4no0bbGBv9w/jvmzGzJ5XPPE2wFsi4+iVXgpTtHfzPpvUVX0XOgmqRnwEtGza5tI5C9f0j3AMUS9jMOBU4Cuks4OpzQlenBuAEaZ2ey0y0eZ2fxQzwSgM5GhOF7Sb4AGQAtgCpsNxTPh/GZAMzP7IJQ/Dny7YvvMbL6k/YkevCcA70j6Yaj7g1R7KswEe83MSoASSYuBtqF8rpl9FD4fAwwMv6gvJb0PHA4cF76D8eG8RuH+GwMvmdna0P5Xws9GQC/gudBxgsg5leK5qoyEpEuASwDqkZtx352VwqJybrh3Bu+90orhg1pUf0EMrFlVxMSRTelx7NeJGAqAwa93ZvDrnQG44JdTWPJV/UR0D+y+kqN6L+HwY5dSp245DRqW0ee2T+jX98BE9JcurgfAimXFjHi3Nft1WbkzGIolqZfiaqs0Wy7pPaAn0CwVIZzoRXNBpmvjGnqaQtQzSDXwcqJ1Ga1DkYArzaxb2PY0s1SPYs2WVVGS9rkMKAqe/HuBs4NP4UGi4IUpKtZRLWZWYmZvmNl1wK1UM2ZXWbu2QVvAX9Pufx8zeyjD+QVEXcVuads30o5XqWlm/c2sh5n1qKO6VZ3mbIVxzW2zmfdZfV56KNnx8qbNN9KwcTQqUFy3jO69lifq3G3aLPrTbt1mLb2O/YIhb2ftWtwhHr1zL352Yi9+fkpP/tbnQCaObJaYkahbv4z6DUo3fe7ecxlzZyY31LgFNejMltQ6vDAjqT5wMvAp8B6QelG/AHg5Uz1x9SjeBW6V9CszSw3JpP+lDwJ+JeldM9soaT+qsWgVSBmFJeFt+2w2O2Y2ESzocknHmNkw4CeVVSbpUGCRmX0RHNBdgYnAR8C9kvZMDT1t4/qSocClkgYQ9XqOA64D1gM3S3rSzFZL6gBsJJrG9qikvxL9br4HPGBmKyXNlvRDM3su+GO6mtnH29CW7aLvXbPo2nMVTZqX8vjIiTzxz90Y9EyruGVzrn1Qj9Wc9IMlzJ5an7tfnQTAgH4dGT2kWezazdtsoM9t0ykoNCQY+mYrRg1Jrkdz/c0jadJkA6Wl4t47D2HN6uLEtHNF8xYl3HBHlP2xsMgY8no7xg5P5m+tMmowcVF7YICiJHQFwLNm9qqkT4CnJd1CNLKR6UU1HkNhZibpDOCOMDz0FdFb72/DKf8hGkIaFx56X1H9G3x6/cslPUjkMF4EjM5w+s+BhyUZMLiKc9oADwZ/CUS5OO42s/Vh6ObFYEAWE1nkbHmJqJv3MVFn8jdmtghYJOkbwIgwlLQa+KmZjZP0TDh/cYX7+glwn6QbiGYuPB3Oi5Xbrtwrbom81J4ypjHf3is3UyTnTGvIFWd2z4k2wG+uPC5n2ikmjW7OpNHJDfssWtCAK845KjG9aqmhdRRmNpHIz1uxfBaRjzQrZJZnSwCd2GhS0MKOKjo1181IHOUyf3KdOrnTBtSudfUnxcWS5B3Sm8jR73zEsudZsXHxDnn/G7TpaAec9X9ZnTv+/v8bm62PYkfwldmO4zj5RJZrJJLEDYXjOE6+4YbCcRzHqQrhQQEdx3GcalB5flkKNxSO4zj5hPsoHMdxnOrwoSfHcRwnM24oHMdxnEx4j8JxHMepGqvREB41ghsKx3GcfMN7FE5tJJdhNMrXr8+ZdqIpDivBFn2VM23Vq1f9STFhq1blRrhsx1PC+DoKx3Ecp3ryLAafGwrHcZw8w3sUjuM4TtX4gjvHcRynOrTjro4axQ2F4zhOnpFvQ0+5npThOI7jpGNEzuxstmqQ1FHSe5I+kTRF0tWhvIWktyTNCD8zphN0Q+E4jpNnyLLbsqAU+H9mdiBwFHC5pAOBvsA7ZrYv8E7YrxI3FI7jOPmGZblVV43ZQjMbFz6vAj4FOgCnAwPCaQOAMzLV4z4Kx3GcPCKuBXeSOgPdgZFAWzNbGA4tAtpmutYNheM4Tj5hti2Ji1pJGpO239/M+lc8SVIj4AXgGjNbKSlNzkzKbJrcUDgZufb2ORx54gqWLy3ispMPSlS7VfsS+vT7jOatNmIm3ni6DS8/2i4x/R69V3LZzV9QWGC8MbAFz96d8aWrxsjlfdcpLuf2JydSp7icwkIYNqglT9zVKRFtgEdeH8a6tYWUlYnyMnH1j49MRDfXf2tbkX2PYomZ9ch0gqQ6REbiSTN7MRR/Kam9mS2U1B5YnKmOXcpQSFptZo3S9i8EepjZFTHr9gEuBtYDG4G7zOwxSXOC/pI49ePkreda8r8Bbehzx+zEtctKxYO3duKzKQ2p37CMf78ymfHDmvD5zAaxaxcUGJffuoDfnbcXSxbW4a7XZ/DRoKZ8PiP++EW5vO+NG0TfCw5m/dpCCovK6ffURMZ80JypHzeJXTtF34sPY+Xy4sT0ILffeWXU1NCToq7DQ8CnZvbPtEOvABcAt4WfL2eqx53ZO4iky4CTgSPMrBtwItEw4y7B5FGNWbW8MCfaX39VzGdTGgKwbk0h82bWo2W7jYlo7999LV/MKWbR53Up3VjAkJeb0fPUFYlo5/K+QaxfG/2+i4qMoiLDbJf5c66S3H7nFTCg3LLbqudo4HzgBEkTwvYdIgNxsqQZwElhv0pqjaGQ9Kiks9P2V4efBZLulTQ1zCd+PXWepBMljZc0SdLDkupWUvXvgV+Z2UoAM1tpZgPSjl8paVyo44BQ7xGSRoS6h0vaP5R/JGnT+I6kIZJ6SGoY9EeFa04Px/+T9sv/StKfavhryxvadChh74PWMm1Cw0T0WrbbyFdfbH6rXbKwDq3aJ//gSPq+IepN3f3f8QwcPpLxw5sxbWLjxLQNuOX+8fxr4Ei+ddb8xHTTycV3vhU1N+tpmJnJzLqaWbewvW5mS83sRDPb18xOMrNlmerZpYaegPqSJqTttyDqYmXiB0Bn4ECgDdH0sYcl1QMeBU40s+mSHgN+BdyZulBSE6Cxmc3KUP8SMztU0q+B1BDVVOBYMyuVdBJwK3AW8AxwDvCnMG7Y3szGSLoVeNfMfiGpGTBK0ttmdnFoRyfgzdDeXY56Dcq44d7pPHBzJ9au3tX+ZKsmV/ddXi6uOKM7DRuX8od7PqXTvmuYOyOZh+Z1F/Zg6eJ6NG2xgb/cP475sxsyeVzGtWA1Sr78rW2DMzsRdrUexbo0q9kN+GMW1xwDPGdm5Wa2CHgvlO8PzDaz6WF/AHDcdrQp5TwaS2SQAJoCz0maDNwBpHoRzwKpXs85wPPh8ylA32AEhwD1gD0AgkF7DrjSzOZWFJd0iaQxksZstJLtaH5uKSwq54Z7Z/DeK60YPqhFYrpLF9Wh9W4bNu23ar+RJQvrJKafq/tOZ82qIiaObEqPY79OTHPp4sgHtGJZMSPebc1+XVYmpp0P33mKGlxwVyPsaoYiE6WE+5VUAOywtywMN62WtFeG01JP5zI29+BuBt4zsy7A94ge/JjZAmCppK7AuUQ9DIh8HmelGcE9zOzTcOx+4EUze7uKNvY3sx5m1qNOpSNn+YxxzW2zmfdZfV56qH2iytMmNKDDnhto27GEojrl9D59OR8NbpqQeu7uu2nzjTRsXApAcd0yuvdazrxZyTh069Yvo36D0k2fu/dcxtyZSQ3/5O47r6QpNTb0VFPUnn48zAEOI3pr/z6Qej38ELhA0gCgNdAbeAqYBnSWtI+ZzSRyCL1fSb1/Be6RdG6Yn9wI+IGZPZahLU2BBeHzhRWOPQP8BmhqZhND2SAiX8eVYc5zdzMbL+lyoqGvjI6oHaHvXbPo2nMVTZqX8vjIiTzxz90Y9EyruOS24KAeqznpB0uYPbU+d786CYAB/Toyekiz2LXLy8Q913fg1qdmUVAIg59uwdzpyWRsy+V9N2+zgT63Taeg0JBg6JutGDUkmbfr5i1KuOGO6E++sMgY8no7xg7f9f/WKhItuMuvoSdZnjVoR8g0PVZSW6IpYPWJxvMvN7NGoXdxL5GBmEf0e/qbmb0l6USgH5FBHU3ktC6poCngOuAioqmxG4F/mNkT6dNjJfUA+plZb0k9iYay1gCvAT81s86hvrZERuRmM/tzKKtP5BvpRdQrmm1mp0maHfTWhubcb2b3V/X9NCloYUcVnbpN32lNUWtToeYwHSgAdZIbLqtIbUyF+tH611lRvnSHpok1abK79Tg8uxn97737u7HVraOoCXYpQ7G9SGpkZqsltQRGAUcHf8UuhRuK5HFDkRt2dkNxeI/Lszr33fd+n4ihqE1DT5l4NcwmKiZ6k9/ljITjODsJlvUaicRwQwGYWe9ct8FxHCdFviUuckPhOI6Tb+SZS8ANheM4Tj5hoPJcN2JL3FA4juPkG96jcBzHcTKSX3bCDYXjOE6+ofL8GntyQ+E4jpNPGJBfdsINheM4Tj4hLO9CeLihcBzHyTfcUDi5QihnoTRUv35OdAGK2ieT67oybHlyYbIrJYehUygtzZm0Ou6WG+G5NRQyJc8MRW0KM+44jpP/GKjMstqqI2TGXBxy36TKWoRsnjPCz2ozQ7mhcBzHyTfMstuq51HgWxXK+gLvmNm+wDthPyNuKBzHcfKKLI1EFobCzD4AKubDPp0ozQHh5xnV1eM+CsdxnHzCiNtH0dbMFobPi4BqnXhuKBzHcfKN7NdRtJI0Jm2/v5n1z/bikDGzWqvkhsJxHCfP2IZ1FEu2I3HRl5Lam9lCSe2BxdVd4D4Kx3GcfMKAsvLstu3jFeCC8PkCohTRGXFD4TiOk1fUnDNb0kBgBLC/pPmSLgJuA06WNAM4KexnxIeeHMdx8o0acmab2Y+qOHTittTjhsJxHCffyLOV2W4onIy0al9Cn36f0bzVRszEG0+34eVH2yXahoIC41/PjmXpl8XceHnXxHTPOPczTvne55jB3M+acMet3di4oTAx/Vzd9yOvD2Pd2kLKykR5mbj6x0cmpg25u+/Tz5rJqafNQYI3X+3My8/vk5j2FhhQ7oYib5HUkmilIkA7oAz4KuwfYWYbakjnQuB2YAFQB/gU+JmZrZV0I7DazPpluP4yYK2ZPVYT7clEWal48NZOfDalIfUblvHvVyYzflgTPp/ZIG7pTZx+/nzmzWpAg4bJxQ5q2Wod3zt7Nr/6yfFs2FBI35vG8M2TFvD263sk1oZc3HeKvhcfxsrlxYnrQm7uu9OeKzn1tDlce1lvNpYWcPPfhzNqRDsWLmiUWBs2Y1BelgPdqnFndhpmttTMuplZN+B+4I7Ufk0ZiTSeCfUeBGwAzt2Gdt5fmZGQVOOG/+uvivlsSkMA1q0pZN7MerRst7GmZaqkZdv1HH7cUga90D4xzRSFheUU1y2joLCcuvXKWLqkXmLaubzvXJKr++7YaRXTPm1BSUkR5WUFTP64FUcf90WibdhEqkeRzZYQbiiqQdKJksZLmhQCbNUN5XMk/VnSuHDsAEkFIdBW63BOgaSZqf0q6i8CGgJfV3Lsl5JGS/pY0guSGoTyGyX1CZ+HSLozLLq5OoavYBNtOpSw90FrmTahYZwyW3Bp35k8/I+9STrh19Il9Xlx4D48+uJbPPHyYNasKWL8qDaJ6efqviF6Tt1y/3j+NXAk3zprfqLaubrvubMb06XrEho3KaFu3VJ6HLWIVm3WJduIdGou1lON4IYiM/WIgmqda2YHEw3V/Srt+BIzOxS4D+hjZuXAE8BPwvGTgI/N7Cu25lxJE4iGn1oA/6vknBfN7HAzO4RoeOqiKtpZbGY9zOwf23R320C9BmXccO90Hri5E2tXJzNiecQ3l7B8WTEzP2mciF46jRpv4KhjF/GLH57E+aefQr16ZRx/yrxEtHN53wDXXdiDq847kj9e3p3Tzp1Pl0O3eoeJhVze97y5TXjuqf24pd9wbr59OLNmNqO8TIm3YxNuKHYqCoHZZjY97A8Ajks7/mL4ORboHD4/DPwsfP4F8EgVdT8ThrjaAZOA6yo5p4ukoZImERmfg6qqq6obkHSJpDGSxmygpKrTMlJYVM4N987gvVdaMXxQi+2qY3s4sPtKjuq9hEcGj+C3/T6h65HL6XPbJ4lod+uxhC+/aMDK5XUpKytg+Pvt+cbByTwwc3nfAEsXR0NsK5YVM+Ld1uzXJZmcGrm+78Gvd+bqS47nN1cdx+pVdVgwPxf+CajJdRQ1hTuzd4zUk7eM8F2a2TxJX0o6ATiCzb2LSgmxVv4HXMnWC18eBc4ws4+DA7x3FdWsyVB/f6A/QNOCltvxl2Vcc9ts5n1Wn5ceSnbc+NE79+LRO/cC4ODDv+asC+fRr++BiWh/9WV99u/yNXXrllJSUsghPb5i5tRmiWjn8r7r1i+jQMa6tUXUrV9G957LGPjAnolo5/K+AZo2K2HF8rq0brOWXsd+wf/9+puJaW+BQU7GHDPghiIzZUBnSfuY2UzgfOD9LK77D9EQ1ONmls30hWOAzyopbwwslFSHyOAsyK7ZNcdBPVZz0g+WMHtqfe5+dRIAA/p1ZPSQZkk3JVGmfdKcD99rz78e+YCyMjFrelPeeLlTrpsVO81blHDDHRMBKCwyhrzejrHDW+W4Vclw/c0jadJkA6Wl4t47D2HN6tzM+gLcUOxkrAd+DjwXnM6jiWZDVccrRENOVQ07QeSjOIZo+G8+cGEl5/wBGEk0RXckkeFIlCljGvPtvZKdR18Zk0Y3Z9LoahNx1ShPPnQATz50QKKaFUn6vhctaMAV5xyVmF5V5OL3/Zsrj6v+pERIdkZTNrihqAIzuzFtt3slxzunfR7DlsNChxA5sadWUfejRMNKGXXN7D4iR3mmc3pXPO44zk6MQTQvJn9wQ1HDSOpLNDMqo2/CcRynSvKsR+GznmoYM7vNzDqZ2bBct8VxnJ0Un/XkOI7jVImZO7Mdx3GczFhZfsV6ckPhOI6TVyQ7rJQNbigcx3HyCQ8z7jiO41RLnk2P9VlPjuM4eYQBVm5Zbdkg6VuSpoVI1n23p03eo3Acx8knzGrMmS2pELgHOJkoAsRoSa+Y2TZFW/QeheM4Tr5h5dlt1XMEMNPMZoXka08Dp29rc2R55l134kPSV8Dc7by8FbCkBpvj2vmv79rbTiczqzJRWTZIejO0IRvqEcWkS9E/RIxO1XU28C0zuzjsnw8caWZXbEubfOipFrEjf8CSxphZj5psj2vnt75r5wYz+1autKvCh54cx3F2XRYAHdP2d2c70hW4oXAcx9l1GQ3sK2lPScXAeURpELYJH3pysqV/9ae49i6m79o7OWZWKukKYBBRaueHzWzKttbjzmzHcRwnIz705DiO42TEDYXjOI6TETcUjuMgqVBSv1y3I2nCfV+b63bkO+6jcKokLP9vS9qkBzP7PEa9SUShbrY6FElb1xi1f5DpuJm9GJd2hXbUBc4COrPl935TAtofmdlRcetUof0H4FEzm5dWdkn64rEYtUeZ2RFx6+zMuKFwKkXSlcCfgC+BVKyAuB/WnTIdN7PtXVWejfYj4WMboBfwbtg/HhhuZqfFpV2hHW8CK4CxwKaAP2b2jwS07wM6AM8Ba9K0YzeSkhYDXwFXmNl7oWycmR2agPYdQB3gGba873Fxa+8suKFwKkXSTKKl/ktz3ZYkkTQYuMDMFob99kRvuqcmpD/ZzLokoVWJ9iOVFJuZ/SIB7fFEMYieA543s9sljTez7glov1dJsZnZCXFr7yz4OgqnKuYRvdkmhqRVbB56UvhpbB56apJAMzqmjETgS2CPBHRTDJd0sJlNSlATADP7edKaFfQ/l/RN4D5JzwH1E9I9PgmdnRk3FE5VzAKGSHoNKEkVmtk/4xI0s8Zx1b0NvCNpEDAw7J8LvB23aJp/pgj4uaRZRN977P6ZtDbsB9wHtDWzLpK6At83s1vi1gbGAJjZeqL7vxw4LE5BST81syck/V9lx+P8W9/ZcEPhVMXnYSsOW6JIOgbY18wekdQKaGxms+PWNbMrgmP72FDU38xeilsXSMQHUg0PAtcBDwCY2URJTwGxGwoz+6Wk+sAeZjbNzO4hyqMQJw3Dz3x4Qclr3EfhZERSIwAzW52g5p+AHsD+ZrafpN2A58zs6KTakCsk7Q3MN7MSSb2BrsBjZrY8Ae3RZnZ4um9A0gQz65aA9veAfkCxme0pqRtwk5l9P25tp3q8R+FUiqQuwONAi7C/BPjZ9sSJ2Q7OBLoD4wDM7AtJsb71VfCPbHGI5PwjAC8APSTtQxRz6GXgKeA7CWgvCYbKYFMug4WZL6kxbiRKsjMEwMwmSNorCWFJ9YCLgIOI8jsQ2hC7E39nwQ2FUxX9gf9Lm6rYm2hoolcC2hvMzCSlHlgNq7tgR8kT/whAeQjk9gPgLjO7K8wISoLLiX7vB0haAMwGfpqQ9kYzWyEpvSyrFG41wOPAVOBU4CbgJ8CnCWnvFPjKbKcqGqaMBICZDWHzmG7cPCvpAaCZpF8SOZMfTEgbScdI+nn43ErSnklpAxsl/Qj4GfBqKKuThHBIl3kS0Bo4wMyOMbM5SWgDUyT9GCiUtK+ku4DhCWnvY2Z/ANaY2QDgu8CRCWnvFHiPwqmKWWG17ONh/6dEM6Fix8z6SToZWAnsD/zRzN5KQjvdPwI8QuTIfwJIyj/yc+Ay4C9mNjsYqceruWaHqGrWT+rtPqHZP1cC1xPN9HqKKCx2ErOtADaGn8vDkOsiooWXTsCd2U6lSGoO/Bk4hmjMeijwZzP7OgHti4APzGxG3FqVaE8g+EfSHLoTk5iemiuCcYTIOB7O5sQ23wNGmVnsw0+SDs3VSmhJFxP5hroSvRw0Ino5uT8X7clH3FA4WxFiPL2dq4VIkv5MND21M1Eoiw+AoWY2IQHtUWZ2RCp8RPCPjEjKUEiaTSVOdTOL3bEr6QPgu2a2Kuw3Bl4zs+MS0H4PaAc8DzxjZpPj1nSyx4eenK0wszJJ5ZKamlmiq7OD/p8Awrz6XxLN7b+TKENX3FT0j/yCBP0jRMNeKeoBPyTMPEuAtsCGtP0NoSx2zOx4Se2Ac4AHJDUhMhixDT9VNeSW1iZfcBfwHoVTKZJeJhqCeYstA6VdlYD2DUQ+gUbAeGAYUY8itqmakuqaWUn4fDJwCtHU2EFJ+UcytG2smcW6SjnoXE/0oE4tMDwDeNbMbo1bu0I7DgZ+A5xrZrEt9kwbcqsUM/tzXNo7G24onEqRdEFl5WFWSNza44BS4DXgfaKhn5LMV+24ZhhqetzMzo9Tq5p2pEdLLSDqYfzKzA5JUD+1Kv0DM0tkaq6kbxCFSzkLWEoUyfUFM1uchL6TGR96ciolCYOQQfvQMPRwNHAy0F/SYjM7JkbZ4jA9s5cqyU2RRKjtQHo48VJgDtFbflI0AFaG0CmtJe2ZROgU4GHgaeBUM/siAb3UQrtzga+B/xENcR4HfAbcbGZLkmjHzoD3KJxKkbQv8FfgQLZcrZqEU7UL0VvtN4neqOcRDT39MUbNY4gWWp3D5lk/KRIJtZ1ralvoFEnPEk2NbQg0ByYTGYxjgG6WUA6SnQE3FE6lSBpGlLjoDqJpkj8HCuJ8WKdpv0o0HXcoMNrMNlZzSU1qX2RmDyWlV0H7m8DXIRjfOWx+u7037qG3oD+BHE0NzsWLiULuD0lFRPG12qUd+zip4b6dAV+Z7VRFfTN7h+hlYq6Z3Ui0YjV2wpvcHYQFd5ISWZkcWJmKKyXpBkkvSkoiec49RAvMHpL0BPBjojfcQ4mGZZJgg0VvjomFTknjEaIQ56VEWQUfI1roGCcbAMysFKg43FW29em1F/dROFVRIqkAmCHpCmAB0Syk2Alv1o8Rjc8L6CjpAjP7IAH5P5jZc2Eo6iTgduB+4g/pcLyZHRjGzRcAbcI05QeAiTFrp8jl1OD6ZvaOJFmU8vZGSWOBOHuwu0v6N9HfWOozYb9DjLo7HW4onKq4msixeRVwM3ACUOlMqBj4J3CKmU2DTQl1BhJzIptA6k3yu0S5KF6TlEQoifUQJe6RNNfMysK+SUpk6C2XoVPIzYvJdWmfx1Q4VnG/VuOGwqkUMxsdPq4m8k8kSZ2UkQhtmZ7g8NOC8FZ9MvA3SXVJZoi2TVgAprTPhP3WCeinmAjUDZ8/TlA38ReTXM7s29lwZ7ZTKeEt/jqgE2kvFJZAwnlJDxOFmE6NUf8EKExi5pGkBsC3gElmNkNSe+BgMxscs27OF38FB/rtRDkhRDTz7Dozez5ubSe/cUPhVIqkj4nG5seS5tgzs7EJaNclyo2QWjcxlIRm/gT95kBHtjSQOQlYlyThd35yapGbpNZEMb9in/2TyxcTp3p86MmpilIzuy9JQUltgN8D+wCTgAvNbGXCbbgZuJBoWmrqLcqIhkJ2dQoqrIReSnIzI58jejF5kIRnHElqaWZLk9Tc2fAehbMFklIB6K4CFhPF/dn0Jm9my2LUfpPN0WJPAxqZWaL+EUnTiIaaNlR78i6GpNuJQm0PDEXnAhPN7LcJaCcSz6oK7RnABKIpum+YPxS3wg2FswVpYa5VyWGLeQHUFoucUvGX4tKrog0vEMVWqlUxhhRlKdqdKB/FpiE/M3up6qtqRDdnLyZpbRDRVOhfEN3/s8CjZjY9bu2dBTcUTt4Qxsh7s9lIvZe+n9BDowfwMtFit/QH1vdj1l0KjAQ+JEoBOtLM1sapWUkbJpnZwQlr5uzFpIr2HE80iaIh0ayvvmY2Isk25CNuKJwtkHQ4MM/MFoX9nxFF9JwL3Bjz0NMcotlOOXtoSJoCPEDkIylPE38/Zt0mwFFAr7AdBswmMhwfmtmzceqHNgwA7k6bGl0rkNSSKNXv+cCXwENE8b66EcW6SjJnel7ihsLZghDi+yQzWybpOKKInlcS/dN8w8zOzmX74kbSaDM7PA/a0ZBo/co1wJ5mFnvSJklTiSYSzCXKQSIiAx1brCdJPyV6Dj1eofx8oMzMnopLO01rOlFe8kfMbH6FY781s7/F3YZ8xw2FswXpfoIQf+irEOcJSRPMrFsOmxc7kv5JNOT0ClsOPcU6PTZEak31JlKGaizwEVE+jrlx6oc2dKqsPE5tSSOBE81sdYXyhkT5MJJI2CR3YGfGp8c6FSmUVBQCpZ0IXJJ2rDb8vaQCAB6VVpbE9Nj5wDiiYIh9czHryszmKsqX3pbkftd1KhqJ0JY1Ca7G31dSH6Ic7b6GoxJqwz++s20MBN6XtARYR7TYDUn7AInnz04aMzs+R9JHAz2BM4H/C/6aEWEbk1CY8SuJQst/yWb/jBFNmY2L+pIamtma9MIQwTe2NKgVSK3h+A8eNbZSfOjJ2QpJRwHtgcGpf+CwcrZRUiuUK3uzNbPPE9CtNFqpmd0Ut3aFdnQmygNyNbC7mdXLfEWNaM4Ejkxy8Vl4kz8RuCw1xBXu/R5giJndnkAbcraGY2fBexTOVpjZR5WUJTanPEdvtinS32zrES38+zQBXSQdwGY/xdFAMyIfxf1J6BNlEky01xgi1q4GPpCUiha7GrgtwcgA/5P0a3KwhmNnwXsUTt6RizfbDG2pCwwys94x6ywhSp4zgrCWwsxmxqmZpp2KVHsQUXjx19jygfnPhNrROOitSkIvTbeynOCJr+HIZ7xH4eQjib/ZZqAB0YrluNnbzHJ1z43Dz8/DVkxy/oFNJG0g0nRr/TqJ6nBD4eQjs4AhkhJ/s5U0ic3BAAuJckHcHLduDo1EIiHM85kwu+pXRDnKIQqz/oAlmKs933FD4WyBpFVsflCmVkinQiyYmTVJoBm5fLM9Le1zKZGfpG4V5+5SSHoL+KGZLQ/7zYGnzezUnDYsfu4D6gD3hv3zQ9nFOWtRnuE+CscJSOpANNtropltCGHPryEKd75bThuXAJUtqJQ03sy6V3FJTWpXfKt/H7g/zrf61HqhisEow7GtymozScWad3ZCJB0j6efhcytJsY7lSroz/PyfpFcqbjFrX0MUavou4CNJFxPNdqpPMrm6U+1oK+khSW+E/QMlXZSQfJmkPdLa0onNvcu4uY/oe743bIeGsjgZFX6WSdo7VShpL3w9xRb40JNTKSE1Zw+iWTCPEA0BPUE0bTMuUvF++sWoURWXAPuHGFd7ANOBo5PI6FeBR4m+7+vD/nTgGaJAdXFzPTBM0vtsToV6SeZLaozDK7zBvxuiCcdJami1D/CepFlhvzPJ54nPa9xQOFVxJlE4i3EAZvZFavpiXKQeynFHaq2C9al582b2uaRpOTASAK3M7FlJvwttKZWUyNutmb0p6VCi8CUGXGNmS5LQJrzVm9lnkNhbfeu0qcEPEE1eIOh2Jwpz7+CGwqmaDWZmkgw2BWmLlQozjrY4RMxRTIHdJf07bb99+r6ZXRWjdjprQtjr1Pd+FDFPFQ5DTMvNbIWZLZG0BjgD2F/S3QnFnbqOzW/1IsqdHfdbfSHQiK3D2hexecqwgzuznSoIoRX2BU4G/kqU/espM7srRs1Ko5emiDmK6QXVaA+IS7tCOw4l8pN0IUqe1Bo428wmxqg5Ejgz9Bq7AW8T/c67AhvNLJHZP2Fx4/5hd1rc8a2UgwyKOytuKJwqkXQycArRG9cgM3srQe22bA63PcpqUWpSSUVED0wRPTBjnc8vaWKqtyapH1BuZr+RVABMiLknl2rDDyopXgFMiut3n9SMrl0BNxRO3iHpHOB2ooVPKafqdWb2fC7blQQ5emBuSoGqKHHV78xsUNifmJCheI0oem7KL9CbKB/HnsBNFRMb1ZBmC4/nlB3uo3C2QNIwMzumwsI7SHbB3fVEs2AWhza1JhoO2eUNBXARVTwwJcXywCSaYfQssBBoDrwLIKk9kFRejCKiDIpfBu22wGPAkcAHbJ4RV2O4kcgeNxTOFpjZMeFnLp15BRXenpdSe9b8JP7AJFpUeC7RYsNj0oa62rF5mm7cdEzdc2BxKFsmyUNp5Bg3FM5WhFwQU8zsgBw14U1Jg4iSKEH0EHsjTkFJd5FhcVmCs54Sf2CGNKBPV1I+Pg69Khgi6VWiJEIAZ4WyhsDyBNvhVIIbCmcrzKxM0jRJeySRLKgS/evCWP0xoai/mb0Us+yY8PNo4ECiRW4APwQ+iVk7ndr6wLyc6F5TCzofA14IRixXWQedgDuznUqR9AHRoqNRpCXzMbPvx6i5D9DWzD6sUH4MsDC1GCtOJH1ENPxSGvbrAEPN7KjMV9ZoG85is5H8kM0PTMfJCd6jcKriDznQvBP4XSXlK8Kx7yXQhuZAEyDl6GwUymKnwpDfC0lo5gsVJk8UE0VzXZPQ5AmnGtxQOJVSMYxGeKv/EVFUz7hoa2aTKmnLpJBHOQluA8ZLeo9optdxwI1JCOdqyC/DivhUu2KfHps+eUKSgNOJQok4eYAPPTlVIqk78GOicfrZREMgd8eoN8PM9q3i2Ewz2ycu7Qpa7YhmGQGMNLNFSegG7VwM+aVWxF8efqZmVv0kaPeNSzsTviAuf3BD4WyBpP2Ieg4/ApYQOXX7mFnG8Bo1pD0QeNfMHqxQfjFwspmdG6N2xlAOZjYuLu0K7fhmFfqxB0qs7MGcVJiLCgsNC4giF3/TzHrGre1Ujw89ORWZCgwFTjOzmQCSrk1I+xrgJUk/IVpkBtEDo5gomm2c/CPDMQNOiFk/EjJ7P4fhSyTp6NRkAkm9SG79Srr/qRSYQzT85OQB3qNwtkDSGcB5RNMU3ySaX/8fSzABvaTjiYLiQeTcfTcp7VyTy/AloVf1CNA0FC0HfpFUb8rJX9xQOJUS5u2fTjQEdQLRvPaXzGxwThuWAJK6EK2lqJcqM7PHEtL+mGiYbYvwJXGn5Qwzrq4yszskNQUws1jDmwfdfFno6GTADYVTLZKaEzm0zzWzE3PdnjgJmf16ExmK14FvA8PM7OyE9DcF6Av7BcDH6WUxao8ysyPi1qmgmR7e/c/An9KPJxXe3cmMGwrHSSNMFT0EGG9mhwR/wRNmdnJC+rcT5YFID18yycx+k4D2HUTrF55hyxlXSTnyfZZTnuLObMfZknVmVi6pVFITQqylpMRzFL4kRbfw86b0JpGQI58MQ1BObnFD4ThbMkZSM+BBoplXq4ERCbdhLLDSzN6W1EBSYzNbFbeomXlMJadSfOjJcaogrAZvEmca0ko0fwlcArQws70l7Qvcn5RvSNJ3gYPY0pF/U9VX7LBeeuiOBsDa1CGSy3/iVIP3KBynApI6AJ0I/x+SjjOzDxKSvxw4AhgJYGYzJLVJQljS/UQP6+OB/wBnE60Qj40c5z1xssQNheOkIelvRA7kT4CyUGxESYOSoMTMNkThjjblz06q29/LzLqG9Kd/lvQPYs4D4uwcuKFwnC05A9jfzEpypP++pN8D9SWdDPwa+F9C2uvCz7WSdiPKLNg+IW0nj6kt6SUdJ1tmEU0RzRV9ga+AScClRGs5bkhI+9XgyL8dGEcURmNgpguc2oE7sx0nDUkvEK2jeAfY1KuobSuEJdUF6iWxOtvJf3zoyXG25JWwJYqk04HdzeyesD8SaB0O/9bMnqvy4pptRy+gM5sd+YmFL3HyF+9ROE4FJBUD+4XdaWa2MQHND4HzzGxe2J8AnAg0BB5JYnqspMeBvYEJpDnya1tvytka71E4ThqSegMDiMbnBXSUdEEC02OLU0YiMMzMlgJLQ4DGJOgBHOj5uZ2KuKFwnC35B3CKmU2DTYmcBgKHxay7RV5uM7sibbc1yTAZaAcsTEjP2UlwQ+E4W1InZSQAzGy6pCRmQY2U9MtKsvtdSsyL3iT9j2itRmPgE0mj2NKRH1saVmfnwH0UjpOGpIeBcuCJUPQToNDMfhGzbhvgv0QP6FS01sOAusAZZvZljNqp9KtGNNy2BUmkYXXyGzcUjpNGmBZ6OZujtw4F7k1qAZ6kE4hiLUGC2f1C4qIpZnZAEnrOzoUbCsepQMgqh5l9leu2JImkl4ErzezzXLfFyS/cR+E4gKLgSn8CriBELJBUBtwVZ/TUPKM5MCX4KNITF7mPopbjhsJxIq4FjgYON7PZAJL2Au6TdK2Z3ZHT1iXDH3LdACc/8aEnxyFKwwmcbGZLKpS3BgbXlhSdkjoB+6aSJhE58mNPmuTkNx4U0HEi6lQ0ErDJT5HLIIGJEZImPQ88EIo6EM3Ecmo5bigcJ2LDdh7blbicaPhtJURJk4BEkiY5+Y37KBwn4hBJKyspF2lpQXdxcpk0yclj3FA4DmBmhbluQx6Qy6RJTh7jzmzHcQCQVABcBJxC1JMaBPzHgwQ6bigcx3GcjLgz23FqOZJOl3R52v5ISbPC9sNcts3JD9xQOI7zG7bM6lcXOBzoDVyWiwY5+YU7sx3HyYekSU4e4z0Kx3HyIWmSk8e4oXAcZ2RYlb0FSSRNcnYOfNaT49Rycpk0ydk5cEPhOA6Qu6RJTv7jhsJxHMfJiPsoHMdxnIy4oXAcx3Ey4obCcQKSyiRNkDRZ0nMhcc/21vWopLPD5/9IOjDDub0l9doOjTmSWmVbXuGc1duodaOkPtvaRmfXwA2F42xmnZl1M7MuRDkotliVHMJubzNmdrGZfZLhlN7ANhsKx0kKNxSOUzlDgX3C2/5QSa8An0gqlHS7pNGSJoa1BijibknTJL1NWsIfSUMk9QifvyVpnKSPJb0jqTORQbo29GaOldRa0gtBY7Sko8O1LSUNljRF0n+IIrxmRNJ/JY0N11xS4dgdofydkPIVSXtLejNcM1TSATXybTo7NR7Cw3EqEHoO3wbeDEWHAl3MbHZ42K4ws8Ml1QU+lDQY6A7sDxwItAU+AR6uUG9r4EHguFBXCzNbJul+YLWZ9QvnPQXcYWbDJO1BFO77G8CfiMJr3CTpu0QhwavjF0GjPjBa0gshPEdDYIyZXSvpj6HuK4D+wGVmNkPSkcC9wAnb8TU6uxBuKBxnM/UlTQifhwIPEQ0JjTKz2aH8FKBryv8ANAX2BY4DBppZGfCFpMrWIBwFfJCqy8yWVdGOk4ADU5nmgCaSGgWNH4RrX5P0dRb3dJWkM8PnjqGtS4Fy4JlQ/gTwYtDoBTyXpl03Cw1nF8cNheNsZp2ZdUsvCA/MNelFwJVmNqjCed+pwXYUAEeZ2fpK2pI1knoTGZ2eZrZW0hCqTutqQXd5xe/AcdxH4TjbxiDgV5LqAEjaL0RY/QA4N/gw2gPHV3LtR8BxkvYM17YI5auAxmnnDQauTO1I6hY+fgD8OJR9mwrB/CqhKfB1MBIHEPVoUhQAqV7Rj4mGtFYCs1M5KILf5ZBqNJxagBsKx9k2/kPkfxgnaTLwAFHP/CVgRjj2GDCi4oVm9hVwCdEwz8dsHvr5H3BmypkNXAX0CM7yT9g8++rPRIZmCtEQ1OfVtPVNoEjSp8BtRIYqxRrgiHAPJwA3hfKfABeF9k0BTs/iO3F2cTyEh+M4jpMR71E4juM4GXFD4TiO42TEDYXjOI6TETcUjuM4TkbcUDiO4zgZcUPhOI7jZMQNheM4jpMRNxSO4zhORv4/2lQHDs+6StsAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(classification_report(y_test, y_pred, target_names=target_names))\n",
    "ConfusionMatrixDisplay.from_estimator(\n",
    "    clf, X_test_pca, y_test, display_labels=target_names, xticks_rotation=\"vertical\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "da788413",
   "metadata": {},
   "source": [
    "## 20维的人脸识别识别率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "36ac7136",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting the top 20 eigenfaces from 966 faces\n",
      "done in 0.110s\n",
      "Projecting the input data on the eigenfaces orthonormal basis\n",
      "done in 0.012s\n",
      "Fitting the classifier to the training set\n",
      "done in 4.917s\n",
      "Best estimator found by grid search:\n",
      "SVC(C=4477.199815552567, class_weight='balanced', gamma=0.05498937580329155)\n",
      "Predicting people's names on the test set\n",
      "done in 0.021s\n",
      "                   precision    recall  f1-score   support\n",
      "\n",
      "     Ariel Sharon       0.83      0.38      0.53        13\n",
      "     Colin Powell       0.78      0.90      0.84        60\n",
      "  Donald Rumsfeld       0.64      0.52      0.57        27\n",
      "    George W Bush       0.81      0.88      0.84       146\n",
      "Gerhard Schroeder       0.52      0.60      0.56        25\n",
      "      Hugo Chavez       0.90      0.60      0.72        15\n",
      "       Tony Blair       0.71      0.56      0.63        36\n",
      "\n",
      "         accuracy                           0.76       322\n",
      "        macro avg       0.74      0.63      0.67       322\n",
      "     weighted avg       0.76      0.76      0.75       322\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x7f1278d11970>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_components = 20\n",
    "print('Extracting the top %d eigenfaces from %d faces' % (n_components, X_train.shape[0]))\n",
    "t0 = time()\n",
    "pca = PCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "eigenfaces = pca.components_.reshape((n_components, h, w))\n",
    "\n",
    "print('Projecting the input data on the eigenfaces orthonormal basis')\n",
    "t0 = time()\n",
    "X_train_pca = pca.transform(X_train)\n",
    "X_test_pca = pca.transform(X_test)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "print(\"Fitting the classifier to the training set\")\n",
    "t0 = time()\n",
    "param_grid = {\n",
    "    \"C\": loguniform(1e3, 1e5),\n",
    "    \"gamma\": loguniform(1e-4, 1e-1),\n",
    "}\n",
    "clf = RandomizedSearchCV(\n",
    "    SVC(kernel=\"rbf\", class_weight=\"balanced\"), param_grid, n_iter=10\n",
    ")\n",
    "clf = clf.fit(X_train_pca, y_train)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "print(\"Best estimator found by grid search:\")\n",
    "print(clf.best_estimator_)\n",
    "\n",
    "print(\"Predicting people's names on the test set\")\n",
    "t0 = time()\n",
    "y_pred = clf.predict(X_test_pca)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "\n",
    "print(classification_report(y_test, y_pred, target_names=target_names))\n",
    "ConfusionMatrixDisplay.from_estimator(\n",
    "    clf, X_test_pca, y_test, display_labels=target_names, xticks_rotation=\"vertical\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b9c48376",
   "metadata": {},
   "source": [
    "## 30维的人脸识别识别率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "8b8a63c6",
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting the top 30 eigenfaces from 966 faces\n",
      "done in 0.115s\n",
      "Projecting the input data on the eigenfaces orthonormal basis\n",
      "done in 0.013s\n",
      "Fitting the classifier to the training set\n",
      "done in 4.008s\n",
      "Best estimator found by grid search:\n",
      "SVC(C=10333.049245440092, class_weight='balanced', gamma=0.017533350099777655)\n",
      "Predicting people's names on the test set\n",
      "done in 0.021s\n",
      "                   precision    recall  f1-score   support\n",
      "\n",
      "     Ariel Sharon       0.64      0.69      0.67        13\n",
      "     Colin Powell       0.79      0.92      0.85        60\n",
      "  Donald Rumsfeld       0.69      0.67      0.68        27\n",
      "    George W Bush       0.90      0.88      0.89       146\n",
      "Gerhard Schroeder       0.74      0.80      0.77        25\n",
      "      Hugo Chavez       0.79      0.73      0.76        15\n",
      "       Tony Blair       0.90      0.72      0.80        36\n",
      "\n",
      "         accuracy                           0.83       322\n",
      "        macro avg       0.78      0.77      0.77       322\n",
      "     weighted avg       0.83      0.83      0.83       322\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x7f126f0aac70>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_components = 30\n",
    "print('Extracting the top %d eigenfaces from %d faces' % (n_components, X_train.shape[0]))\n",
    "t0 = time()\n",
    "pca = PCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "eigenfaces = pca.components_.reshape((n_components, h, w))\n",
    "\n",
    "print('Projecting the input data on the eigenfaces orthonormal basis')\n",
    "t0 = time()\n",
    "X_train_pca = pca.transform(X_train)\n",
    "X_test_pca = pca.transform(X_test)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "print(\"Fitting the classifier to the training set\")\n",
    "t0 = time()\n",
    "param_grid = {\n",
    "    \"C\": loguniform(1e3, 1e5),\n",
    "    \"gamma\": loguniform(1e-4, 1e-1),\n",
    "}\n",
    "clf = RandomizedSearchCV(\n",
    "    SVC(kernel=\"rbf\", class_weight=\"balanced\"), param_grid, n_iter=10\n",
    ")\n",
    "clf = clf.fit(X_train_pca, y_train)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "print(\"Best estimator found by grid search:\")\n",
    "print(clf.best_estimator_)\n",
    "\n",
    "print(\"Predicting people's names on the test set\")\n",
    "t0 = time()\n",
    "y_pred = clf.predict(X_test_pca)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "\n",
    "print(classification_report(y_test, y_pred, target_names=target_names))\n",
    "ConfusionMatrixDisplay.from_estimator(\n",
    "    clf, X_test_pca, y_test, display_labels=target_names, xticks_rotation=\"vertical\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d2315c05",
   "metadata": {},
   "source": [
    "## 40维的人脸识别识别率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "a9ecd9e2",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting the top 40 eigenfaces from 966 faces\n",
      "done in 0.128s\n",
      "Projecting the input data on the eigenfaces orthonormal basis\n",
      "done in 0.017s\n",
      "Fitting the classifier to the training set\n",
      "done in 3.693s\n",
      "Best estimator found by grid search:\n",
      "SVC(C=17844.02410141735, class_weight='balanced', gamma=0.023057431807605132)\n",
      "Predicting people's names on the test set\n",
      "done in 0.024s\n",
      "                   precision    recall  f1-score   support\n",
      "\n",
      "     Ariel Sharon       0.89      0.62      0.73        13\n",
      "     Colin Powell       0.86      0.93      0.90        60\n",
      "  Donald Rumsfeld       0.82      0.67      0.73        27\n",
      "    George W Bush       0.87      0.93      0.90       146\n",
      "Gerhard Schroeder       0.70      0.64      0.67        25\n",
      "      Hugo Chavez       0.77      0.67      0.71        15\n",
      "       Tony Blair       0.79      0.72      0.75        36\n",
      "\n",
      "         accuracy                           0.84       322\n",
      "        macro avg       0.81      0.74      0.77       322\n",
      "     weighted avg       0.84      0.84      0.83       322\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x7f126f319b50>"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_components = 40\n",
    "print('Extracting the top %d eigenfaces from %d faces' % (n_components, X_train.shape[0]))\n",
    "t0 = time()\n",
    "pca = PCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "eigenfaces = pca.components_.reshape((n_components, h, w))\n",
    "\n",
    "print('Projecting the input data on the eigenfaces orthonormal basis')\n",
    "t0 = time()\n",
    "X_train_pca = pca.transform(X_train)\n",
    "X_test_pca = pca.transform(X_test)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "print(\"Fitting the classifier to the training set\")\n",
    "t0 = time()\n",
    "param_grid = {\n",
    "    \"C\": loguniform(1e3, 1e5),\n",
    "    \"gamma\": loguniform(1e-4, 1e-1),\n",
    "}\n",
    "clf = RandomizedSearchCV(\n",
    "    SVC(kernel=\"rbf\", class_weight=\"balanced\"), param_grid, n_iter=10\n",
    ")\n",
    "clf = clf.fit(X_train_pca, y_train)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "print(\"Best estimator found by grid search:\")\n",
    "print(clf.best_estimator_)\n",
    "\n",
    "print(\"Predicting people's names on the test set\")\n",
    "t0 = time()\n",
    "y_pred = clf.predict(X_test_pca)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "\n",
    "print(classification_report(y_test, y_pred, target_names=target_names))\n",
    "ConfusionMatrixDisplay.from_estimator(\n",
    "    clf, X_test_pca, y_test, display_labels=target_names, xticks_rotation=\"vertical\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7d27624f",
   "metadata": {},
   "source": [
    "## 50维的人脸识别识别率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "bf8fcf52",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting the top 50 eigenfaces from 966 faces\n",
      "done in 0.158s\n",
      "Projecting the input data on the eigenfaces orthonormal basis\n",
      "done in 0.015s\n",
      "Fitting the classifier to the training set\n",
      "done in 4.157s\n",
      "Best estimator found by grid search:\n",
      "SVC(C=49309.54169378805, class_weight='balanced', gamma=0.02004927890847289)\n",
      "Predicting people's names on the test set\n",
      "done in 0.026s\n",
      "                   precision    recall  f1-score   support\n",
      "\n",
      "     Ariel Sharon       0.90      0.69      0.78        13\n",
      "     Colin Powell       0.86      0.90      0.88        60\n",
      "  Donald Rumsfeld       0.89      0.59      0.71        27\n",
      "    George W Bush       0.83      0.96      0.89       146\n",
      "Gerhard Schroeder       0.86      0.72      0.78        25\n",
      "      Hugo Chavez       0.92      0.73      0.81        15\n",
      "       Tony Blair       0.93      0.78      0.85        36\n",
      "\n",
      "         accuracy                           0.86       322\n",
      "        macro avg       0.88      0.77      0.82       322\n",
      "     weighted avg       0.86      0.86      0.85       322\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x7f126eeb9790>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_components = 50\n",
    "print('Extracting the top %d eigenfaces from %d faces' % (n_components, X_train.shape[0]))\n",
    "t0 = time()\n",
    "pca = PCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "eigenfaces = pca.components_.reshape((n_components, h, w))\n",
    "\n",
    "print('Projecting the input data on the eigenfaces orthonormal basis')\n",
    "t0 = time()\n",
    "X_train_pca = pca.transform(X_train)\n",
    "X_test_pca = pca.transform(X_test)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "print(\"Fitting the classifier to the training set\")\n",
    "t0 = time()\n",
    "param_grid = {\n",
    "    \"C\": loguniform(1e3, 1e5),\n",
    "    \"gamma\": loguniform(1e-4, 1e-1),\n",
    "}\n",
    "clf = RandomizedSearchCV(\n",
    "    SVC(kernel=\"rbf\", class_weight=\"balanced\"), param_grid, n_iter=10\n",
    ")\n",
    "clf = clf.fit(X_train_pca, y_train)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "print(\"Best estimator found by grid search:\")\n",
    "print(clf.best_estimator_)\n",
    "\n",
    "print(\"Predicting people's names on the test set\")\n",
    "t0 = time()\n",
    "y_pred = clf.predict(X_test_pca)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "\n",
    "print(classification_report(y_test, y_pred, target_names=target_names))\n",
    "ConfusionMatrixDisplay.from_estimator(\n",
    "    clf, X_test_pca, y_test, display_labels=target_names, xticks_rotation=\"vertical\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "612319cc",
   "metadata": {},
   "source": [
    "## 60维的人脸识别识别率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "1daa3eba",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting the top 60 eigenfaces from 966 faces\n",
      "done in 0.163s\n",
      "Projecting the input data on the eigenfaces orthonormal basis\n",
      "done in 0.015s\n",
      "Fitting the classifier to the training set\n",
      "done in 5.103s\n",
      "Best estimator found by grid search:\n",
      "SVC(C=34069.90181601824, class_weight='balanced', gamma=0.014128566094051869)\n",
      "Predicting people's names on the test set\n",
      "done in 0.027s\n",
      "                   precision    recall  f1-score   support\n",
      "\n",
      "     Ariel Sharon       0.89      0.62      0.73        13\n",
      "     Colin Powell       0.89      0.90      0.89        60\n",
      "  Donald Rumsfeld       0.84      0.59      0.70        27\n",
      "    George W Bush       0.86      0.98      0.91       146\n",
      "Gerhard Schroeder       0.88      0.88      0.88        25\n",
      "      Hugo Chavez       1.00      0.73      0.85        15\n",
      "       Tony Blair       0.90      0.75      0.82        36\n",
      "\n",
      "         accuracy                           0.87       322\n",
      "        macro avg       0.89      0.78      0.82       322\n",
      "     weighted avg       0.88      0.87      0.87       322\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x7f126eea6cd0>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_components = 60\n",
    "print('Extracting the top %d eigenfaces from %d faces' % (n_components, X_train.shape[0]))\n",
    "t0 = time()\n",
    "pca = PCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "eigenfaces = pca.components_.reshape((n_components, h, w))\n",
    "\n",
    "print('Projecting the input data on the eigenfaces orthonormal basis')\n",
    "t0 = time()\n",
    "X_train_pca = pca.transform(X_train)\n",
    "X_test_pca = pca.transform(X_test)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "print(\"Fitting the classifier to the training set\")\n",
    "t0 = time()\n",
    "param_grid = {\n",
    "    \"C\": loguniform(1e3, 1e5),\n",
    "    \"gamma\": loguniform(1e-4, 1e-1),\n",
    "}\n",
    "clf = RandomizedSearchCV(\n",
    "    SVC(kernel=\"rbf\", class_weight=\"balanced\"), param_grid, n_iter=10\n",
    ")\n",
    "clf = clf.fit(X_train_pca, y_train)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "print(\"Best estimator found by grid search:\")\n",
    "print(clf.best_estimator_)\n",
    "\n",
    "print(\"Predicting people's names on the test set\")\n",
    "t0 = time()\n",
    "y_pred = clf.predict(X_test_pca)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "\n",
    "print(classification_report(y_test, y_pred, target_names=target_names))\n",
    "ConfusionMatrixDisplay.from_estimator(\n",
    "    clf, X_test_pca, y_test, display_labels=target_names, xticks_rotation=\"vertical\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "347afb20",
   "metadata": {},
   "source": [
    "## 70维的人脸识别识别率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "256b4634",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting the top 70 eigenfaces from 966 faces\n",
      "done in 0.162s\n",
      "Projecting the input data on the eigenfaces orthonormal basis\n",
      "done in 0.013s\n",
      "Fitting the classifier to the training set\n",
      "done in 4.122s\n",
      "Best estimator found by grid search:\n",
      "SVC(C=9894.990660624924, class_weight='balanced', gamma=0.006269233950169371)\n",
      "Predicting people's names on the test set\n",
      "done in 0.026s\n",
      "                   precision    recall  f1-score   support\n",
      "\n",
      "     Ariel Sharon       0.69      0.69      0.69        13\n",
      "     Colin Powell       0.81      0.90      0.85        60\n",
      "  Donald Rumsfeld       0.90      0.67      0.77        27\n",
      "    George W Bush       0.90      0.95      0.92       146\n",
      "Gerhard Schroeder       0.80      0.80      0.80        25\n",
      "      Hugo Chavez       1.00      0.73      0.85        15\n",
      "       Tony Blair       0.90      0.78      0.84        36\n",
      "\n",
      "         accuracy                           0.87       322\n",
      "        macro avg       0.86      0.79      0.82       322\n",
      "     weighted avg       0.87      0.87      0.86       322\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x7f126f2860d0>"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_components = 70\n",
    "print('Extracting the top %d eigenfaces from %d faces' % (n_components, X_train.shape[0]))\n",
    "t0 = time()\n",
    "pca = PCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "eigenfaces = pca.components_.reshape((n_components, h, w))\n",
    "\n",
    "print('Projecting the input data on the eigenfaces orthonormal basis')\n",
    "t0 = time()\n",
    "X_train_pca = pca.transform(X_train)\n",
    "X_test_pca = pca.transform(X_test)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "print(\"Fitting the classifier to the training set\")\n",
    "t0 = time()\n",
    "param_grid = {\n",
    "    \"C\": loguniform(1e3, 1e5),\n",
    "    \"gamma\": loguniform(1e-4, 1e-1),\n",
    "}\n",
    "clf = RandomizedSearchCV(\n",
    "    SVC(kernel=\"rbf\", class_weight=\"balanced\"), param_grid, n_iter=10\n",
    ")\n",
    "clf = clf.fit(X_train_pca, y_train)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "print(\"Best estimator found by grid search:\")\n",
    "print(clf.best_estimator_)\n",
    "\n",
    "print(\"Predicting people's names on the test set\")\n",
    "t0 = time()\n",
    "y_pred = clf.predict(X_test_pca)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "\n",
    "print(classification_report(y_test, y_pred, target_names=target_names))\n",
    "ConfusionMatrixDisplay.from_estimator(\n",
    "    clf, X_test_pca, y_test, display_labels=target_names, xticks_rotation=\"vertical\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4d194b56",
   "metadata": {},
   "source": [
    "## 80维的人脸识别识别率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "e67a3971",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting the top 80 eigenfaces from 966 faces\n",
      "done in 0.186s\n",
      "Projecting the input data on the eigenfaces orthonormal basis\n",
      "done in 0.016s\n",
      "Fitting the classifier to the training set\n",
      "done in 4.732s\n",
      "Best estimator found by grid search:\n",
      "SVC(C=3361.0120151224864, class_weight='balanced', gamma=0.01015798523414087)\n",
      "Predicting people's names on the test set\n",
      "done in 0.030s\n",
      "                   precision    recall  f1-score   support\n",
      "\n",
      "     Ariel Sharon       0.89      0.62      0.73        13\n",
      "     Colin Powell       0.89      0.93      0.91        60\n",
      "  Donald Rumsfeld       0.95      0.67      0.78        27\n",
      "    George W Bush       0.85      0.99      0.91       146\n",
      "Gerhard Schroeder       0.79      0.76      0.78        25\n",
      "      Hugo Chavez       1.00      0.53      0.70        15\n",
      "       Tony Blair       0.90      0.75      0.82        36\n",
      "\n",
      "         accuracy                           0.87       322\n",
      "        macro avg       0.90      0.75      0.80       322\n",
      "     weighted avg       0.88      0.87      0.86       322\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x7f126efb6b50>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_components = 80\n",
    "print('Extracting the top %d eigenfaces from %d faces' % (n_components, X_train.shape[0]))\n",
    "t0 = time()\n",
    "pca = PCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "eigenfaces = pca.components_.reshape((n_components, h, w))\n",
    "\n",
    "print('Projecting the input data on the eigenfaces orthonormal basis')\n",
    "t0 = time()\n",
    "X_train_pca = pca.transform(X_train)\n",
    "X_test_pca = pca.transform(X_test)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "print(\"Fitting the classifier to the training set\")\n",
    "t0 = time()\n",
    "param_grid = {\n",
    "    \"C\": loguniform(1e3, 1e5),\n",
    "    \"gamma\": loguniform(1e-4, 1e-1),\n",
    "}\n",
    "clf = RandomizedSearchCV(\n",
    "    SVC(kernel=\"rbf\", class_weight=\"balanced\"), param_grid, n_iter=10\n",
    ")\n",
    "clf = clf.fit(X_train_pca, y_train)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "print(\"Best estimator found by grid search:\")\n",
    "print(clf.best_estimator_)\n",
    "\n",
    "print(\"Predicting people's names on the test set\")\n",
    "t0 = time()\n",
    "y_pred = clf.predict(X_test_pca)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "\n",
    "print(classification_report(y_test, y_pred, target_names=target_names))\n",
    "ConfusionMatrixDisplay.from_estimator(\n",
    "    clf, X_test_pca, y_test, display_labels=target_names, xticks_rotation=\"vertical\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8aedb8d0",
   "metadata": {},
   "source": [
    "## 90维的人脸识别识别率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "4eb1bf5e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting the top 90 eigenfaces from 966 faces\n",
      "done in 0.237s\n",
      "Projecting the input data on the eigenfaces orthonormal basis\n",
      "done in 0.016s\n",
      "Fitting the classifier to the training set\n",
      "done in 5.422s\n",
      "Best estimator found by grid search:\n",
      "SVC(C=1016.4598107191272, class_weight='balanced', gamma=0.00842322209720674)\n",
      "Predicting people's names on the test set\n",
      "done in 0.033s\n",
      "                   precision    recall  f1-score   support\n",
      "\n",
      "     Ariel Sharon       0.67      0.62      0.64        13\n",
      "     Colin Powell       0.83      0.90      0.86        60\n",
      "  Donald Rumsfeld       0.95      0.67      0.78        27\n",
      "    George W Bush       0.86      0.97      0.91       146\n",
      "Gerhard Schroeder       0.83      0.76      0.79        25\n",
      "      Hugo Chavez       1.00      0.47      0.64        15\n",
      "       Tony Blair       0.87      0.75      0.81        36\n",
      "\n",
      "         accuracy                           0.85       322\n",
      "        macro avg       0.86      0.73      0.78       322\n",
      "     weighted avg       0.86      0.85      0.85       322\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x7f126ea82af0>"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_components = 90\n",
    "print('Extracting the top %d eigenfaces from %d faces' % (n_components, X_train.shape[0]))\n",
    "t0 = time()\n",
    "pca = PCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "eigenfaces = pca.components_.reshape((n_components, h, w))\n",
    "\n",
    "print('Projecting the input data on the eigenfaces orthonormal basis')\n",
    "t0 = time()\n",
    "X_train_pca = pca.transform(X_train)\n",
    "X_test_pca = pca.transform(X_test)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "print(\"Fitting the classifier to the training set\")\n",
    "t0 = time()\n",
    "param_grid = {\n",
    "    \"C\": loguniform(1e3, 1e5),\n",
    "    \"gamma\": loguniform(1e-4, 1e-1),\n",
    "}\n",
    "clf = RandomizedSearchCV(\n",
    "    SVC(kernel=\"rbf\", class_weight=\"balanced\"), param_grid, n_iter=10\n",
    ")\n",
    "clf = clf.fit(X_train_pca, y_train)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "print(\"Best estimator found by grid search:\")\n",
    "print(clf.best_estimator_)\n",
    "\n",
    "print(\"Predicting people's names on the test set\")\n",
    "t0 = time()\n",
    "y_pred = clf.predict(X_test_pca)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "\n",
    "print(classification_report(y_test, y_pred, target_names=target_names))\n",
    "ConfusionMatrixDisplay.from_estimator(\n",
    "    clf, X_test_pca, y_test, display_labels=target_names, xticks_rotation=\"vertical\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "027ae250",
   "metadata": {},
   "source": [
    "## 100维的人脸识别识别率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "cd1738d0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting the top 100 eigenfaces from 966 faces\n",
      "done in 0.170s\n",
      "Projecting the input data on the eigenfaces orthonormal basis\n",
      "done in 0.016s\n",
      "Fitting the classifier to the training set\n",
      "done in 5.220s\n",
      "Best estimator found by grid search:\n",
      "SVC(C=18553.32342150304, class_weight='balanced', gamma=0.004172844573012473)\n",
      "Predicting people's names on the test set\n",
      "done in 0.033s\n",
      "                   precision    recall  f1-score   support\n",
      "\n",
      "     Ariel Sharon       0.60      0.69      0.64        13\n",
      "     Colin Powell       0.84      0.90      0.87        60\n",
      "  Donald Rumsfeld       0.86      0.70      0.78        27\n",
      "    George W Bush       0.90      0.95      0.92       146\n",
      "Gerhard Schroeder       0.80      0.80      0.80        25\n",
      "      Hugo Chavez       0.82      0.60      0.69        15\n",
      "       Tony Blair       0.90      0.75      0.82        36\n",
      "\n",
      "         accuracy                           0.86       322\n",
      "        macro avg       0.82      0.77      0.79       322\n",
      "     weighted avg       0.86      0.86      0.86       322\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x7f126ef020a0>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_components = 100\n",
    "print('Extracting the top %d eigenfaces from %d faces' % (n_components, X_train.shape[0]))\n",
    "t0 = time()\n",
    "pca = PCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "eigenfaces = pca.components_.reshape((n_components, h, w))\n",
    "\n",
    "print('Projecting the input data on the eigenfaces orthonormal basis')\n",
    "t0 = time()\n",
    "X_train_pca = pca.transform(X_train)\n",
    "X_test_pca = pca.transform(X_test)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "print(\"Fitting the classifier to the training set\")\n",
    "t0 = time()\n",
    "param_grid = {\n",
    "    \"C\": loguniform(1e3, 1e5),\n",
    "    \"gamma\": loguniform(1e-4, 1e-1),\n",
    "}\n",
    "clf = RandomizedSearchCV(\n",
    "    SVC(kernel=\"rbf\", class_weight=\"balanced\"), param_grid, n_iter=10\n",
    ")\n",
    "clf = clf.fit(X_train_pca, y_train)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "print(\"Best estimator found by grid search:\")\n",
    "print(clf.best_estimator_)\n",
    "\n",
    "print(\"Predicting people's names on the test set\")\n",
    "t0 = time()\n",
    "y_pred = clf.predict(X_test_pca)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "\n",
    "print(classification_report(y_test, y_pred, target_names=target_names))\n",
    "ConfusionMatrixDisplay.from_estimator(\n",
    "    clf, X_test_pca, y_test, display_labels=target_names, xticks_rotation=\"vertical\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "88fc4d86",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting the top 110 eigenfaces from 966 faces\n",
      "done in 0.242s\n",
      "Projecting the input data on the eigenfaces orthonormal basis\n",
      "done in 0.015s\n",
      "Fitting the classifier to the training set\n",
      "done in 6.568s\n",
      "Best estimator found by grid search:\n",
      "SVC(C=1891.1069345087435, class_weight='balanced', gamma=0.0024943493260123684)\n",
      "Predicting people's names on the test set\n",
      "done in 0.036s\n",
      "                   precision    recall  f1-score   support\n",
      "\n",
      "     Ariel Sharon       0.56      0.77      0.65        13\n",
      "     Colin Powell       0.78      0.88      0.83        60\n",
      "  Donald Rumsfeld       0.81      0.63      0.71        27\n",
      "    George W Bush       0.89      0.92      0.90       146\n",
      "Gerhard Schroeder       0.83      0.80      0.82        25\n",
      "      Hugo Chavez       0.90      0.60      0.72        15\n",
      "       Tony Blair       0.87      0.72      0.79        36\n",
      "\n",
      "         accuracy                           0.84       322\n",
      "        macro avg       0.80      0.76      0.77       322\n",
      "     weighted avg       0.84      0.84      0.83       322\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x7f126e831b20>"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZEAAAFbCAYAAAAUUrOFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABYQ0lEQVR4nO3dd5hU5fn/8fdnl6WJdAQEFFTEiAUFVBQVu/nGxCSaaGKiJiZqvtgjRqOJLTHWaL6KBY09Fmw/jQ2iiKJBmqCAShEQpUjvCFvu3x/nGXZYtswue87M7t6v65qLmTNn5n7OAHPP02VmOOecczWRl+0COOecq7s8iTjnnKsxTyLOOedqzJOIc865GvMk4pxzrsY8iTjnnKuxRtkugEtO47xm1qxRy6zEtsLCrMTNOmU5vo/gT9S3rGezbdquv/UTjtrBlq8ozujcSZ9sGmFmJ25PvO3lSaQBadaoJYd2PD0rsYsWLMxKXACUvW9y5ednLTaAFRVlNX5DM87e3u73WLaiiP++2SWjc5vuPLf9dgfcTp5EnHMuhxhQUoeqkJ5EnHMux5RQku0iZMyTiHPO5RDDKK5Dy1F5EnHOuRzjzVnOOedqxIBiTyLOOedqwoBC8z4R55xzNVR3UognEeecyymGeXOWc865GjIorjs5xJOI29bFf/qEgwYuZdXKxgw+/XAAWrTczJU3TWGnzhtZsqgZN191AOvWFsReln6D1nD+jQvJzzPeeLotw+/pGHtMgMvumM/Bx65h1bJGnHfMXonETGnfeTND7pxL6w5FYPD6U+15+eFkrhuy95k35NjposmGdUeDWIBR0g8lmaRKvw0k/TeD91pXwfGrJU2X9ImkKZIODsfnScr60gTV8darXfnzRf22OvaTs+bw8YR2nHvKkXw8oR0/OeuL2MuRl2cMvmkB15zRg98O6sVRJ69il57fxh4XYOTwtlx9xm6JxCqrpFg8+JdunHdMby45eS++f+ZSdum5MZHY2fzMG2rssgxRaJndckGDSCLAz4D3w5/bkNQIwMwOrcmbSxoAnAQcaGb7AccCX9WsqNuWK2nTJ7dl7ZqtaxmHHLmEt16N1vN569UuHDJoSezl6HXABhbOa8zi+U0oKsxj9MutGXDC6tjjAkwb14K1q7Kz7tWKJQXMntYcgI3r8/lqdlPadUpmActsfuYNNXZ5ilFGt1xQ75OIpBbAQOAc4PS044MkjZH0CvBpOLYu7fkhkiaEmsX1VYTpDCwzs00AZrbMzNJXHLxQ0keSpqZqQ5IOkjRW0mRJ/5XUKxw/W9IrkkYBb0tqK+n/hXJ8KGm/cN51kh6WNFrSHEkXbe9nVZnWbTexcnlTAFYub0LrtpviDAdAu06FLF3YeMvjZYsKaN+5Ya0G3LHrJnbvvYEZk3dIJF42P/OGGrusaJ6IJ5FccjLwppnNBJZL6pv23IHAxWa2Z/oLJB0P9AQOAvoAfSUdUUmMkUA3STMl3SvpyDLPLzOzA4H7gMvDsc+Bw83sAODPwE1lynWqmR0JXA9MDjWcPwKPp523F3BCKOe1krbppJB0rqSJkiZuLqmtJhH5EuMJaNq8mGsemMMD13djw7rsrgbsklViyuiWCxpCEvkZ8Ey4/wxbN2mNN7O55bzm+HCbDHxE9GXds6IAZrYO6AucCywFnpV0dtopL4Y/JwHdw/1WwHOSpgF3Ar3Tzv+Pma0I9wcCT4Q4o4B2klKbgrxmZpvMbBmwBNimJ9DMhplZPzPr1zivWUWXUKVVK5rQpl3URtym3besWtmkxu+VqeWLC+iw8+Ytj9t3LmTZovg783NBfiPjTw/M4Z2X2vLBm20Si5vNz7yhxi7LayI5RFJb4GjgIUnzgCHAT6UtG0ysr+ilwN/MrE+47WFm/6wslpkVm9loM7sWuAA4Je3pVNtPMaUj4m4E3jGzfYDvA03Tzq+oXGWltymlv3etG/feThx70gIAjj1pAR++u1NcobaYMaU5XXpspmO3TTQqKGHQyav4cGSr2ONmn3HpbfOYP7spLz6U7AihbH7mDTV2WYYoJi+jWy6o70N8TwWeMLPzUgckvQscXsXrRgA3SvqXma2T1AUoNLNye5NDf0aJmc0Kh/oAX1YRoxWwINw/u5LzxgBnhPIMImoaW6MYN1q64i9T2LfvClq23sxjr47iX8N68txju3Hl36Zw3A++ZuniZvztqj6xxU8pKRZDr+7CTU/NIS8fRj7Tli9nNq36hbXgyqHz2G/AOlq1LeLJidN54vZOjHimXSKxe/dfz7GnrGDuZ80Y+sanADx6axcmvBP/l1o2P/OGGrusaNmT3EgQmajvSeRnwC1ljr0Qjj9b0YvMbKSk7wBjw5f1OuAXRE1G5WkB3C2pNVAEzCZq2qrMrcBjkq4BXqvkvOuAhyV9AmwAzqrifbfbrdf0Kff41f97UNyhtzFhVEsmjEp+S9+bB3dPPGbK9AktOHGXvlWfGJNsfeYNOfbWRHEtJRFJDxONHF0SWj2QdBtR68dm4AvgV2a2Kjx3FdEgpGLgIjMbUWUMq0Pr1rvt06pxR/PtcRMO7dvjNijj7G3W2Irt+gfXa7+mNuyVXTI6d1CPWZPMrF9Fz4cBQeuAx9OSyPHAKDMrknQLgJn9QdLewNNEA3V2Bt4C9jSzSjd8rzt1JuecayBqq2PdzN4DVpQ5NtLMUr8uPgS6hvsnA8+EwTpziVpUqmx+qO/NWc45V6eYVas5q72kiWmPh5nZsGqE+zWlTftdiJJKytfhWKU8iTjnXI4pyXz47rLKmrMqI+lqoj7cf9Xk9SmeRJxzLocYYrPF+9Uc5rGdBBxjpR3jC4Buaad1pXQEaYW8T8Q553JItIpvXka3mpB0InAF8AMz25D21CvA6ZKaSOpBNMF6fFXv5zUR55zLMcW1tKSJpKeBQUR9J18D1wJXAU2A/4QpDB+a2flmNl3ScKK1BIuAwVWNzAJPIs45l1NSM9Zr5b3Mylu5vMLVN8zsr8BfqxPDk4hzzuWYEp+x7pxzriZKEJut7qza7EmkAbGiQoq/iX8zqfIsvKJG+33Vip1vrXLDytioceOqT4pRVmesZ3GlAOr4Shw17TTPBk8izjmXQ8yotbWzkuBJxDnncoqqM9kw6zyJOOdcDjG8JuKcc2475MqGU5nwJOKccznEEIU+Oss551xNGD5PxDnnXI1ltldIrvAk4pxzOcRrIs4557aL10Scc87ViJm8JuKcc65mDHx0lqs/2nfezJA759K6QxEYvP5Ue15+uGOsMd/89ZNs2FxAsYnikjxOf/pULhgwnqN2m0sJYsWGZlwz8miWrt8h1nL0G7SG829cSH6e8cbTbRl+T7zXXVZenvF//+8Tli1uzHXnfiexuNm87svumM/Bx65h1bJGnHfMXonFhez/fZeq1h7rWdcgkoikTsBdQH9gFfANcImZzazg/O7Aq2a2j6R+wJlmdlE14s0D1hL9qFgcXr94Oy6hojjrzKxFenlrO0ZJsXjwL92YPa05zXYo5u7XPmPymJbMn9WstkNt5dfP/4BV35bGeGRSH+4ZexAAP+/zCecfPJEbRx0ZW/y8PGPwTQu46vTdWLaogLtfn8WHI1oxf1bT2GKWdfLZi5g/uxnNW1S5L1CtyfZ1jxzellceac+Qf8xPJF5Ktq87XdSxXnf6ROpOuqshRVt3vQSMNrPdzawv0c5eGf3MMLOJ1UkgaY4ys/2AicAfa/D6nLBiSQGzpzUHYOP6fL6a3ZR2nQoTL8f6zaWr4TYrKCLuNVp7HbCBhfMas3h+E4oK8xj9cmsGnLA65qil2nfaxEGDVjJieLK/hrN93dPGtWDtquSbcrJ93WUVk5fRLRfkRinidRRQaGb3pw6Y2cdmNkaR2yRNkzRV0mllXyxpkKRXw/3rJD0sabSkOZIySS7vAXtIairpkRBnsqSjwnu+Jmm/cH+ypD+H+zdI+m24P0TSBEmfSLp+uz+RGurYdRO7997AjMnxNiOZwQM/fpVnf/Ycp+7z6ZbjFx46jv+c8zjf6zWToaFWEpd2nQpZurA0cS1bVED7zsklz/Oumcc/b9mVkoRXNM/2dWdLLl23IUoss1suaAjNWfsAkyp47sdAH2B/oD0wQdJ7VbzfXkSJaUdghqT7zKyyf20nAVOBwYCZ2b6S9gJGStoTGAMcLulLon2NDwuvOxw4X9LxQE/gIEDAK5KOMLOqygmApHOBcwGa0jyTl5SrafNirnlgDg9c340N6+L9pXjW8B+yZH0L2jbbwLAfv8rcla2ZtGBn7v7vwdz934M5p/9H/Gz/qdz7YbyJJFsOOmolq5YXMHt6C/Y9OHu/hl12mNWtjvWGUBOpzEDgaTMrNrNvgHeJ+k0q85qZbTKzZcASKm4We0fSFKAl8LcQ60kAM/sc+BJIJZEjiJLHa0ALSc2BHmY2Azg+3CYDHxElsZ6ZXqCZDTOzfmbWr0BNMn3ZVvIbGX96YA7vvNSWD95sU6P3qI4l61sAsGJjc97+ogf7dNx6I63XPu/JsXvMibUMyxcX0GHnzVset+9cyLJFBbHGTNm77xoOOWYlj47+iCvvmsX+A9Yw5I5ZicTO5nVnU65dd12qiTSEJDId6FuL77cp7X4xFdfmjjKzPmZ2ppmtquT9JgD9iGoe7xEli99SWnsS8LfwXn3MbA8z++d2XUG1GJfeNo/5s5vy4kPxt883a1RI84LNW+4fustXzF7ell1ar9pyztG7zWPuyniT2YwpzenSYzMdu22iUUEJg05exYcjW8UaM+XR23fllwP7cvagA7n5kp58PLYlt/0+498N2yWb151NuXTdUXNWXka3XNAQmrNGATdJOtfMhgGEPohWRLWA8yQ9BrQlqhEMAeIYkjEGOAMYFZqxdgFmmNlmSV8BPwFuADoAt4cbwAjgRkn/MrN1kroQ9fEkss9t7/7rOfaUFcz9rBlD34j6Jx69tQsT3onnP1i75hu56/tvApCfV8Lrn/fkgy934e/fe5PubVZhJhau3ZEb3z4ilvgpJcVi6NVduOmpOeTlw8hn2vLlzORH6iQt29d95dB57DdgHa3aFvHkxOk8cXsnRjzTLva42b7usnzGeg4xM5P0I+AuSX8AvgXmAZcA7wMDgI+JRtZdYWaLw5DZ2nYvcJ+kqUR9H2ebWapWMwY4xsw2ShoDdA3HMLORkr4DjI0GmrEO+AVRU1rspk9owYm71GZFrnJfr2nJqf/66TbHL3vtxMTKkDJhVEsmjGqZeNx0U8e1Yuq4ZH8RZ/O6bx7cPStxITf+vqHuDfGV1fEN7V3mWua1tUManZCV2Asuy14n+M63/jdrsfOa13wwQ20o2bAhe8GVxS/CLH2vjbO3WWMrtuvCO+zd3n70+PcyOvfB/o9PMrN+FT0v6WGiwT1LUvPIJLUFngW6E/2g/qmZrQzTIf4B/A+wgeiH7kdVlSE3GtWcc84BqdFZeRndMvAoULYafyXwtpn1BN4OjwG+SzRopyfRiM77MgngScQ553JMbXWsh6kAK8ocPhl4LNx/DPhh2vHHLfIh0FpS56pi1Ps+Eeecq0tSkw1j1NHMFoX7iymdptAF+CrtvK/DsUVUwpOIc87lmJLMR2e1lzQx7fGw1CjUTISBR9vVgeRJxDnnckg1R2ctq6xjvQLfSOpsZotCc1VqpOcCoFvaeV3DsUp5n4hzzuUSE0Ul+RndaugV4Kxw/yzg5bTjZ4Y1BQ8BVqc1e1XIayLOOZdDjGo1Z1VK0tPAIKJmr6+Ba4GbgeGSziFafik1Met1ouG9s4mG+P4qkxieRJxzLsfUVse6mf2sgqeOKedcI1ootlo8iTjnXA6pazPWPYm4RHT5+/isxc7r3StrsVlQ6xtaVk8WJ6xna9Z4feBJxDnnXI0kME+kVnkScc65XGJQlCPLvGfCk4hzzuUQ7xNxzjm3XTyJOOecqxHvE3HOObddzJOIc865mqqtGetJ8CTinHM5xAyKS3x0lnPOuRrxPhHnnHPbwftEnHPO1YjPE3H1SvvOmxly51xadygCg9efas/LD3es+oV1MPYlvx/PQQcvYtWqJvzvuScCcOXVY+nSbS0ALXbYzLr1jbnw/ONjK0PKDjsWcfENM9m153rM4K5revH5xy1jjwvQb9Aazr9xIfl5xhtPt2X4Pcn8fTfk2FuxurXsWNaTiKRiYCpQABQBjwN3mllJLccZDVxuZhPLHD8b6GdmF5Rz/Dainb2aAg+Y2Z21WaYy8Q4H7gcKgQFmtrGC89aZWYtyjj8KvGpmz9dmuUqKxYN/6cbsac1ptkMxd7/2GZPHtGT+rGa1GSYnYr81sgf/frknv79i3JZjN/91wJb7vzlvCuvXF8QSu6zzrprNpPfbcNOle9OooIQmTWv1v0OF8vKMwTct4KrTd2PZogLufn0WH45oxfxZTT12QgworkPLnuRCSTeaWR8z6w0cB3yXaOOUXPCsmfUBDgOultStivO3xxnA38JnUW4CyYYVSwqYPa05ABvX5/PV7Ka061RYL2NPm9qBtWsbV/CscfgRX/HuO7vEFj+leYsi9um3mhEvdAKgqDCP9WuT+b3X64ANLJzXmMXzm1BUmMfol1sz4ITVHjtRUcd6JrdckAtJZAszWwKcC1wQtmhsKukRSVMlTZZ0FES1BEkvSnpT0ixJt6beQ9J9kiZKmi7p+vLiSPqVpJmSxhMliKrKtZxot6/OkrpLmpb2XpdLui7cHy3pzhD/M0n9QzlnSfpLOGcHSa9J+ljSNEmnSfoN0e5iN0r6VzhviKQJkj4p7zrC53OPpBmS3gJ2yvBjrrGOXTexe+8NzJi8Q9yhcio2wD77LmPVqqYsXLBj7LE6df2W1Ssac+lfZ3L3C5O4+IaZNGlWHHtcgHadClm6sDSRLltUQPvOyfxoaKixy2OW2S0X5FQSATCzOUA+0Zfi4OiQ7Qv8DHhMUqp+2Qc4DdgXOC2tlnB12Lh+P+BISfulv3/YmP56ouQxENi7qjJJ2oWoSeuTDC5hc4h/P9HexYOBfYCzJbUDTgQWmtn+ZrYP8KaZPUS0v/EQMztD0vFAT+CgcJ19JR1RJs6PgF6h/GcCh1ZQ9nNDUptYaJsyKH75mjYv5poH5vDA9d3YsK7GezvXudgpRx41n9EJ1EIA8vONPfZey+vPdubCU/ry7cY8fvqbrxKJ7XKDmTK65YKcSyJlDASeBDCzz4n2A94zPPe2ma02s2+BT4Fdw/GfSvoImAz0ZtskcTAw2syWmtlm4NlK4p8m6ROiWsi9IVZVXgl/TgWmm9kiM9sEzAG6hePHSbpF0uFmVl6d+fhwmwx8BOxFlFTSHQE8bWbFZrYQGFVeYcxsmJn1M7N+BWqSQfG3ld/I+NMDc3jnpbZ88GabGr1HTWUzdkpeXgmHDvya90bH2ZpZatk3TVj2TRNmfBJ1pL8/sgO7770ukdjLFxfQYefNWx6371zIskXJ9AM11NhlRbUMTyI1Jmk3oBhYUsWp6T+ri4FGknoAlwPHmNl+wGtENYiaeja8z6HAzZI6EXX+p39uZd8/Va6SMmUsARqZ2UzgQKJk8hdJfy4nrijtH+ljZnuY2T+34zq2g3HpbfOYP7spLz6U9GiVbMYudcCB3/D1Vy1Zvqx5IvFWLmvM0sVN6NI92pawzyErmf9FMrFnTGlOlx6b6dhtE40KShh08io+HNnKYyesLvWJZH10VjpJHYiage4xM5M0hqjDeZSkPYFdgBlEX8LlaQmsB1ZL6kjUST+6zDnjgH+EpqU1wE+Ajysrl5lNlPQEcDHwZ2Cn8Pp1wEnAm9W4xp2BFWb2pKRVwG/KOW0EoX/EzNZJ6gIUhj6jlPeA8yQ9RtT0dxTwVKblyFTv/us59pQVzP2sGUPf+BSAR2/twoR34v8PlnTsK/44lv32W0rLVpt4/Kl/8+TjvRn55m4ccdRXvPtOMrWQlPv/ugdX3Po5jQqMxV835c6r96z6RbWgpFgMvboLNz01h7x8GPlMW76cmcwIpYYau9zylORGgshELiSRZpKmUDrE9wng7+G5e4H7JE0Nz51tZpuk8j9gM/tY0mTgc+Ar4INyzlkUOsLHAquAKRmW8xaipqWbgBuA8UTDfz/P8PUp+wK3SSohGs77u3LKOFLSd4Cx4VrXAb9g69rZS8DRRE1588P11LrpE1pw4i5943jrnIt9600Dyj1+520HJVaGlDmft+Din1b0WyleE0a1ZMKoZOakeOxtGbnTVJUJWa508bvYtcxra4c0OiHbxUhcXq/dsxd8weLsxQaKV2VrmGrDNM7eZo2t2K4M0HSPLrbrredldO7MU66dFAbyZE0u1EScc86lWN1aOyvnOtadc67BswxvGZB0aZg3N03S02H+XQ9J4yTNlvSspIpm2VbJk4hzzuWY2hriGwblXES0tNM+RHPwTifq473TzPYAVgLn1LSsFTZnSbqbSnKdmV1U06DOOefKZ9T66KxGRAOYCoHmwCKiQTk/D88/BlwH3FfTN6/IxEqec845FwcDMu8TaS8p/bt6mJkN2/JWZgsk3U40gnMjMBKYBKwys6Jw2tdAl5oWt8IkYmaPpT+W1NzMNtQ0kHPOucxUY9DssspGZ0lqA5wM9CCa0vAc0dJLtabKPhFJAyR9SpgPIWl/SffWZiGcc86lqb2O9WOBuWGZp0LgRaJ1A1tLSlUiuhLNeauRTDrW7wJOAJZDNKGPaN0m55xztS6zTvUMhwHPBw6R1FzRzOVjiCYovwOcGs45i2ix2BrJaHSWmZVdQjSZdamdc66hMbASZXSr8q3MxgHPE622MZXoO38Y8AfgMkmzgXZAjdfmy2Sy4VeSDgVMUgHR+lGf1TSgyyZBfnaWUs9rlr11iIo/nZm12CMWTM5abIATuhyQveDZXA2jgqWRYldbl1yLH52ZXcu2G/3NIdpqYrtlUhM5n2hPjC7AQqL9LQbXRnDnnHPlUYa37KuyJmJmy4hW0nXOOZeEOrSkYSajs3aT9G9JSyUtkfRy2PPDOedcHGpx2ZO4ZdKc9RQwHOgM7Ew0zvjpOAvlnHMNVmqyYSa3HJBJEmluZk+YWVG4Pcn27RbonHOuElaS2S0XVLZ2Vttw9w1JVwLPEOXI04DXEyibc841TDlSy8hEZR3rk4iSRupq0ndJMeCquArlnHMNmXKkvyMTla2d1SPJgjjnnCOnOs0zkdHOhpL2AfYmrS/EzB6Pq1DOOddw5U6neSaqTCKSrgUGESWR14HvAu8DnkSccy4OdagmksnorFOJFu1abGa/AvYHWsVaKueca8hKMrzlgEyaszaaWYmkIkktgSVAt5jL5XJEQeMSbh/+GQWNS8jPhzFvtOHJu7omFn+HHYu4+IaZ7NpzPWZw1zW9+PzjlrHHveyO+Rx87BpWLWvEecfsFUuMOy7txri3WtK6fRHD3pkBwGO3dmLsiFZI0Lp9IZffNZ92nYq2vGbGlGZc8v09+eN98zj8pNWxlCuJa69Iv0FrOP/GheTnGW883Zbh93RMLHY2r3sr1duUKusyqYlMlNQaeJBoxNZHwNg4C5UiqaOkpyTNkTRJ0lhJP0oidhXlai1peVhaObXniknqGh63krRCUl6Z110naYGkKZI+l3Rf2XMyjN9d0rTauZrKFW4Wf/j5Xvzv/+zL/36vN/2OXM1efdYlERqA866azaT323DeSf254Md9+WpO80TijhzelqvPiHdhhuNPW8Ff/zVnq2On/m4J9789g/vemsHBx67hyTs7bXmuuBj++ded6Xvk2ljLlcS1lycvzxh80wKuOaMHvx3Ui6NOXsUuPb9NLH62rrs8ssxuuaDKLzAz+18zW2Vm9wPHAWeFZq1YhS/o/we8Z2a7mVlfog3mt/tncNpmLDViZquI9in+Tjh0KDA5/AlwCDDerNzpQHeaWR+iPqZ9gSO3pyzxE99uiFb+bdTIaNTIEmuubd6iiH36rWbEC9EXaVFhHuvXbtdfXcamjWvB2lXxrni87yHr2bHN1rsq7LBj6T+ZbzfmbbUY7csPd2Dg/6ymdfsi4pTEtZen1wEbWDivMYvnN6GoMI/RL7dmwAnx1LbKk63rLld9WPZE0oFlb0BboFG4H7ejgc0heQFgZl+a2d2hfPmSbpM0QdInks4LxxWOT5M0VdJp4fggSWMkvQJ8KilP0r2hRvAfSa9LOjWc21fSu6H2M0JS53LK919Kk8ahwJ1lHn9QxfU1JhrttjLEHC2pX7jfXtK8cL+3pPGh9vKJpJ7h9fmSHpQ0XdJISc0y/WCrKy/PGPraNJ6ZOJmP3m/FjCkt4gq1lU5dv2X1isZc+teZ3P3CJC6+YSZNmtX/rWweubkTZ/Tdm1EvtuHMIYsAWLaogP++0YqTzlqW5dLFp12nQpYubLzl8bJFBbTvXJjFErlMVFYTuaOS2+3xF43eRE1nFTkHWG1m/YH+wG8l9QB+TLRc/f5EW0PelpYEDgQuNrM9w3ndiWoEvwQGAIQ9U+4GTg21n4eBv5YT/wNKk8ZuRGuKpfY6PpQoyZTnUklTiGoyM81sSiXXCNFS/P8ItZd+wNfheE9gqJn1Jto7+ZTyXizpXEkTJU0stJo1DZSUiMHf24dfDOhDr/3XseueG2r0PtWVn2/ssfdaXn+2Mxee0pdvN+bx09+U3R+t/vnVlYv516RPOfrHK3nl4Q4A3H9tF865eiF51W78dHWRSpTRLRdUNtnwqCQLUhVJQ4GBRLWT/sDxwH6p2gPRiLGe4ZynzawY+EbSu0RJZg1RE9PccP5A4LnQ5LRY0jvheC9gH+A/ocsjn+gLv6z/AleFxDXPzL4NtaAWQF9gXAWXcqeZ3R6S1fOSTjezZyq59LHA1aG/5UUzmxXKNTctAU0iSojbMLNhRDuZ0TKv3XZVgNevbcTHY1vS78jVfDkz/r6JZd80Ydk3TZjxSdSR/v7IDvykASSRlKN/tJJrfrkbZw5ZzMyPm/G333UHYPWKfMa/vSP5+XDod5Nr7onb8sUFdNh585bH7TsXsmxRQRZLlCU51FSViVz+XTOdqOYAgJkNJhpq3CEcEnChmfUJtx5mNrKK91yfQVwB09Ped18zO77sSWY2C2gNfJ/SgQaTgF8RJZVKe5/NrBB4k9L96oso/ftIn9T5FPADYCPwuqSjw1Ob0t6umAwnjlZXq7aF7LBj1AbfuEkJBx6+mq++SGb9zZXLGrN0cRO6dI9qPn0OWcn8L5LpWM+WBXNKm3PGjmhFtz2iv+bHx33G4+M/5fHxn3L4Sau58G9f16sEAjBjSnO69NhMx26baFRQwqCTV/HhyAY6m6AO9Ykk00tZM6OAmyT9zszuC8fSv0FGAL+TNMrMCiXtCSwAxgDnSXqMqA/nCGAIUHbM3gfAWeG8DkQTKp8CZgAdJA0ws7GhxrCnmU0vp4wfEm0XfHZ4PBb4CxksUBkGDhxG1CEPMI+oBjOeaG5O6rzdgDlm9n+SdgH2I9raMhFtdyrk97fPIT/fkOC919oyflSbpMJz/1/34IpbP6dRgbH466bcefWeicS9cug89huwjlZti3hy4nSeuL0TI55pV6sx/va7XflkbAtWr2jEGX335pe/X8z4US35+osm5OXBTl02c9EtX1f9RrUsiWsvT0mxGHp1F256ag55+TDymbZ8OTO5BcOzdd3lyZWRV5mQZXMf5CqEvow7gYOBpUQ1ifvN7NkwNPYvRDUBhed/SNRsdSvRzHoD/hLOHwRcbmYnhffOA+4lSh5fhfe4xcz+I6kP8H9ETWSNgLvM7MFyyjeEqL+klZltlNQdmAv83My22XNF0nXAb0NZC4BPgF+H1+5FtG9LMfAa8Asz6x5WUP4lUAgsBn4OtAReNbN9wvteDrQws+sq+zxb5rWzQ5p8t7JTYpPVPdZXr8labN9jPUuytMf6uJK3WGMrtit4k27drOsll2Z07pzLfz/JzPpVfWZ8qkwi4RfzGcBuZnZD+DXcyczGJ1HAOElqYWbrJLUjqgEcZmaLs12uuHgSSZ4nkSyp60nk4gyTyJDsJ5FMmrPuJZpgfzRwA7AWeIGos7quezVMpGwM3FifE4hzrm6QkTMjrzKRSRI52MwOlDQZwMxWSmpc1YvqAjMblO0yOOfcNnK3l2EbmYzOKpSUT7gsSR3ImaW/nHOu/qnNZU/CMk3Ph4nVn4VlmtqGSdazwp81Hi2TSRL5P+AlYCdJfyVaBv6mmgZ0zjlXhdod4vsP4E0z24toEvZnwJXA22bWE3g7PK6RKpuzzOxfkiYRzdEQ8EMz+6ymAZ1zzlWiFhdXlNSKaJrD2QBmthnYLOlkopGpAI8Bo4E/1CRGJptS7QJsAP6dfszM5tckoHPOuSrUXodBD6IpBY9I2p9oQvTFQEczS63EsRio8Zr7mXSsv0ZUcRLRTOoeRBPyetc0qHPOuYpVoybSXtLEtMfDwlJHKY2IVv640MzGSfoHZZquzMykmtd9MmnO2jf9cVjB939rGtA551ytWVbFPJGvga/NLLWW3/NESeQbSZ3NbFGY1L2kpgWo9tpZZvYR0Qxy55xzcailjvUw9+0rSb3CoWOAT4FXgLPCsbOAl2ta1Ez6RC5Le5hHVDVaWNOAzjnnKlH7uxZeCPwrzO+bQ7RIbB4wXNI5wJfAT2v65pn0ieyYdr+IqI/khZoGdFlkhm3aVPV5MSjevLnqk+KSxeU3TtwlqytSoAN7VX1STGxSeWuWJkP5WdqhsLb+qdXiP9mwZUR5/xCPqY33rzSJhEmGO5rZ5bURzDnnXOUEqA5N564wiUhqZGZFkg5LskDOOdfg1aFlTyqriYwn6v+YEvYlf460TZ3M7MWYy+accw1P7feJxCqTPpGmwHKiVXxT80UM8CTinHNxqCdJZKcwMmsapckjpQ5donPO1TF16Bu2siSSD7Rg6+SRUocu0Tnn6pb60py1yMxuSKwkzjnnop/o9WF0FuXXQJxzzsWsvtREamUiinPOuWqqD0nEzFYkWRDnnHOR+lITcQ6AfoPWcP6NC8nPM954ui3D76nx1gPVctkd8zn42DWsWtaI847ZK5GY6bJ13e07b2bInXNp3aEIDF5/qj0vPxxf7Pbt1zPk0rG0bv0tIF5/c3de/vdetGixiT9e8QEdO67jm29acNMtA1m3vnFs5YCG85lXqQ4lkWqv4pspSR0lPSVpjqRJksZK+lE132OQpFdrsUzdJU0r53iepP+TNE3SVEkTJPWo5H2ukxT7UjBJxalMXp4x+KYFXHNGD347qBdHnbyKXXp+m0jskcPbcvUZuyUSq6xsXndJsXjwL90475jeXHLyXnz/zKXs0nNjjPHyePDhAzlv8ElccvnxfP97s9il22pOO/VTpnzSkXPO+wFTPunIT0+Ndy2shvSZVybT/dVzpbYSSxKRJOD/Ae+Z2W5m1hc4HehajffY7lpSNd7jNGBnYL+wf8qPgFXbGVuSYkvSFcSs9ZplrwM2sHBeYxbPb0JRYR6jX27NgBNW13aYck0b14K1q7KzkF42r3vFkgJmT2sOwMb1+Xw1uyntOhXGF29lM2Z/0TaKt7GAr75qSbt2Gxhw8Ne89XaUxN96ezcOPeTr2MoADeszr1Lt7rEeq7i+5I4GNpvZ/akDZvalmd0N0cKOkm4Lv/g/kXReOD5I0piwzMqn4aUtJD0v6XNJ/woJCkl/Dq+fJmlY2vHRku4Ku31dLKmvpI8lfQwMrqC8nYmGNJeEsn5tZivD+50o6aPwHm+nvWbvEGuOpIvCud0lzZD0ONEkzW7hOlM1nNNSL5Y0JO36r087frWkmZLeB3qlHd9d0puhVjdG0l7h+KOS7pc0Dri1en9NVWvXqZClC0ubMJYtKqB95yz+50pIrlx3x66b2L33BmZM3iGZeDutY/fdVzJjRntat/6WFSubAbBiZdPQ3BWfhvqZl6cu1UTi6hPpDXxUyfPnAKvNrL+kJsAHkkaG5w4E9jGzuZIGAQeE91sIfAAcBrwP3JOaxyLpCeAkSveBb5za7UvSJ8AFZvaepNsqKM9w4H1JhwNvA0+a2WRJHYAHgSNCedqmvWYv4CiipfJnSLovHO8JnGVmH0o6BegD7A+0ByZIeg/YN5x3ENFQ6lckHUG0Ntnp4TWNwmc4KbzvMOB8M5sl6WDgXqJkDVEN71AzK674I3d1TdPmxVzzwBweuL4bG9bFXyNr2rSQa64awwMP9mXDxoIyzypXfvjGKunPvEJ16MNOpGNd0lBgIFHtpD9wPLCfpFPDKa2IvlQ3A+PNbG7ay8eb2dfhfaYA3YmSyFGSrgCaA22B6ZQmkWfD+a2B1mb2Xjj+BPDdsuUzs6/Dzl9Hh9vbkn4S3vu9VHnKjFh7zcw2AZskLaF0o/svzezDcH8g8HT4cv9G0rtAf+CI8BlMDue1CNe/I/CSmW0I5X8l/NkCOBR4LlS4AJqkleW5ihKIpHOBcwGa0ry8Uyq1fHEBHXYu3QukfedCli0q+wVT/2T7uvMbGX96YA7vvNSWD95sE3+8/BL+dNUY3hndnQ/GdgNg1aqmtG2zkRUrm9G2zUZWr2oaaxka2mdeqTqUROJqzppOVKMAwMwGE8076RAOiWjj+D7h1sPMUjWR9Vu/Fem7KBUDjSQ1Jfolfmrow3iQaKHIlLLvUSUz22Rmb5jZEOAm4IdVvGSbclUjtoC/pV3/Hmb2z0rOzwNWpZ3fx8y+k/Z8hTHNbJiZ9TOzfgVb5Z3MzJjSnC49NtOx2yYaFZQw6ORVfDiyVbXfp67J7nUbl942j/mzm/LiQ0mMEDIuvehD5n/VihdfLv1n9eH4rhx7zBwAjj1mDmPHZdylWSMN6zOvtCh1qjkrriQyCmgq6Xdpx9J/Bo8AfiepAEDSnpKq0wCZShjLwq/0U8s7ycxWAaskDQyHzijvPEkHSto53M8D9iPaMvJD4IjUSK0yzVmZGAOcFvqAOhDVQMYTXf+vQ9mR1EXSTsB7wA8lNZO0I/D9cB1rgLmhdpTqtN+/mmWpkZJiMfTqLtz01BwefHcG7/27NV/OjPcXacqVQ+dx5yuz6Lr7tzw5cTonnL48kbiQ3evu3X89x56ygj6HrmXoG58y9I1P6X9UfB3MvfdeyrFHz6PPft8w9B+vM/Qfr9O/7wKefX5vDuizmH8+8AoH7L+YZ5/fO7YyQMP6zKuiksxuuSCW5iwzM0k/BO4MTU5LiX4t/yGc8hBRs9RHoUN8KVX/8k9//1WSHiTqvF4MTKjk9F8BD0syYGQF5+wEPBj6ZyD6or/HzL4NzUEvhuSyBDgu03ICLwEDgI+JKqhXmNliYLGk7wBjQ/PUOuAXZvaRpGfD+UvKXNcZwH2SrgEKgGfCebGbMKolE0a1TCLUVm4e3D3xmOmydd3TJ7TgxF36Jhfv05048fs/L/e5q65JduGKhvKZVylHahmZkGVx/2mXrJZqawcrS6vZlPblJC+L/8bVKMvzefdvoHusZ+lz/7BoBGtKVmzXP/bmO3WzvU65LKNzJ99/2aTUIKJs8RnrzjmXS3JoDkgmPIk451yu8STinHOuJkTujLzKhCcR55zLMSqpO1kk0bWdnHPOVSHTdbMyzDNhisFkhcVsJfWQNE7SbEnPStqupZk9iTjnXI6p5cmGFwOfpT2+BbjTzPYAVhItQ1VjnkSccy7X1FJNRFJX4HtEc/NSK6wfDTwfTnmMaszRK4/3iTjnXI6pRi2jfVixPGWYmQ1Le3wXcAXRunwA7YiWUCoKj78GutS8pJ5EnHMut1i1ljRZVtFkQ0knAUvMbFJYET0WnkSccy7X1M7grMOAH0j6H6L1BlsC/wBaS2oUaiNdgQXbE8STiEtEXrNmWYtdsmFD1mJbUVHVJ8Xpo0+rPicmjTplbzXcom+WZCdwLXz519Y8ETO7CrgKog3/gMvN7AxJzxEtWvsMcBbw8vbE8Y5155zLNWaZ3WrmD8BlkmYT9ZFUtg1Flbwm4pxzOaa2Z6yb2WhgdLg/h2hX1VrhScQ553KJL8DonHNue6jcza5zkycR55zLMb4Ao3POuZoxsrqRWnV5EnHOuRzjNRHnnHM150nEOedcTfimVM4552rOzDelcvVLv0FreGjM5zzywWf89IJvEo+fl2fc88rHXDfss6pPrkXZvO5sxr7sjvk8+/E0Hnj780TjAvzgZ18ydPgH3PvcB5z88y8TjZ3N695GLW5KFbd6lUQkrSvz+GxJ9yQQ93JJn0uaImmCpDPD8XmS2scdP055ecbgmxZwzRk9+O2gXhx18ip26fltomU4+exFzJ+d7Npb2bzubH/mI4e35eozdkssXsquu6/lhB99zWVnHsIFpw/goMOX0rlbcuueZeu6y1PLm1LFql4lkWyQdD5wHHCQmfUBjiFq1qwXeh2wgYXzGrN4fhOKCvMY/XJrBpywOrH47Ttt4qBBKxkxPNnF/LJ53dn+zKeNa8HaVfmJxUvp1mM9M6e1ZtO3+ZQU5zF1UhsOPTq5Wli2rnsbBpRYZrcc0GCSiKRHJZ2a9nhd+DNP0r2hJvEfSa+nzpN0TNibeKqkhyU1Keet/wj8zszWAJjZGjN7LO35CyV9FN5jr/C+B0kaG977v5J6heMfSuqdVsbRkvpJ2iHEHx9ec3J4/qFQ+5kiaamka2v5Y6Ndp0KWLizdgnnZogLady6s7TAVOu+aefzzll0T//+SzevO9meeLV9+0YLeB6xkx1abadK0mH4Dl9GhY7K13pzhzVlZ0yztS3UKcEMGr/kx0B3YG/glMABAUlPgUeA0M9uXaBDC79JfKKklsGNY0Kwiy8zsQOA+4PJw7HPgcDM7APgzcFM4/izw0/DenYHOZjYRuBoYZWYHAUcBt0nawcx+E2o/JwPLQnnrjYOOWsmq5QXMnt4i20VxCfhqbguef7Q7f7l3EjfcM4k5M3akuKTeVOqrRSWW0S0X1LfRWRvDlyoQ9YkA5e76lWYg8JyZlQCLJb0TjvcC5prZzPD4MWAw0XaT1fFi+HMSUcICaAU8Jqkn0e+JgnB8ODASuJYomaT2QT6eaHOZVBJqCuwCfBaS3XPAhWa2TU+kpHOBc6MXNa9m0WH54gI67Lx5y+P2nQtZtqigklfUnr37ruGQY1bS/8iPKGhSQvMWxQy5Yxa3/b5n7LGzed3ZjJ1tI1/uysiXuwJw5gWzWP5NeZX/+i9X+jsyUd9qIpUpIlyvpDygceWnVy00Ya2TVFlv3KbwZzGlSftG4B0z2wf4PlFSwMwWAMsl7QecRlQzgaiP5RQz6xNuu5hZaqjS/cCLZvZWBWUcZmb9zKxfAdX/DzljSnO69NhMx26baFRQwqCTV/HhyFbVfp+aePT2XfnlwL6cPehAbr6kJx+PbZlIAoHsXnc2Y2dbqzbRf5cOnTZy6FHfMPqNzlkuURZk2pSVI4mmvtVEKjMP6Ev0a/8HlP76/wA4S9JjQAdgEPAUMAPoLmkPM5tN1NT1bjnv+zdgqKTTzGyNpBbAj83s8UrK0orSLSnPLvPcs8AVQCsz+yQcG0HUt3KhmZmkA8xssqTBRM1pN2f2EVRfSbEYenUXbnpqDnn5MPKZtnw5s2lc4XJGNq8725/5lUPnsd+AdbRqW8STE6fzxO2dGPFMu0Ri//H2j2nZqpCiInHfLd9h/brkamDZvO500WTDHMkQGZDVocJWRdI6M2uR9vhsoJ+ZXSCpI9E2kM2AN4HBZtYi1EruJUoeXxH9Hd5iZv+RdAxwO1GynUDUgb6pTEwBQ4BzgMJwu8PMnpQ0L8RfJqkfcLuZDZI0gKh5bD3wGvALM+se3q8jUYK50cyuD8eaETWjHUpUm5prZidJmhvipcZB3m9m91f0+bRUWztYx1TrM60tec2r35RWW7K5PW7WKXt9Co067pS12NnaHndcyVussRXb9aG3bNnV+vW/IKNz3xl11SQzq6rJPlb1KonUlKQWZrZOUjtgPHCYmS3OdrlqmyeRBsiTSKJqK4n07zc4o3NHvfPHrCeRhtScVZlXJbUm6ie5sT4mEOdcHWG5MwckE55EADMblO0yOOdcSl0aneVJxDnnck0d6mbwJOKcc7nEQCXZLkTmPIk451yuqUM1kYY02dA55+qGWppsKKmbpHckfSppuqSLw/G2Ya3AWeHPNjUtqicR55zLMSopyeiWgSLg92a2N3AIMFjS3sCVwNtm1hN4OzyuEU8izjmXSwwoyfBW1VuZLTKzj8L9tcBnQBeiRVtTq40/BvywpsX1PhHnnMshwmJZ9kRSd+AAYBzQ0cwWhacWAzXesMeTiHPO5ZrMk0h7SRPTHg8zs2FlTwpr+r0AXBLW+EsLZSbVfGaKJ5GGJkvLYNjmzVWfFBM1yuI/8/ws75RXXJy10EWLk90bPl3xoAOzE3jif2vnfTJPIsuqWvZEUgFRAvmXmaW2pvhGUmczWxT2LqrxOjHeJ+Kcc7nEQMWW0a0qYYHYfwKfmdnf0556BTgr3D+LaHHaGvGaiHPO5Zra6xM5jGgbi6lht1eItvS+GRgu6RzgS8KOqjXhScQ553KK1VoSMbP3iba3KE+tLOntScQ553KJUadmrHsScc65XONrZznnnKupurQ9ricR55zLJQYU152qiCcR55zLKbXXsZ4ETyLOOZdrPIk455yrMU8irr647I75HHzsGlYta8R5x+yVaOz2nTcz5M65tO5QBAavP9Welx+u8TpxdSZ2QeMSbh/+GQWNS8jPhzFvtOHJu7omEjub1w3Qb9Aazr9xIfl5xhtPt2X4PfHF7tB2HX/43RjatNqIIV4btScvvdkbgB8e/yk/OP5zSkrEuMldefDp/rGVYxsGlHgSqZMktSNaWx+gE1AMLA2PDzKzWlkAStLZwG3AAqCAaHnmM81sg6TrgHVmdnslrz8f2GBmj9dGeSozcnhbXnmkPUP+MT/uUNsoKRYP/qUbs6c1p9kOxdz92mdMHtOS+bOa1evYhZvFH36+F99uyCe/UQl3PPcZE0e35vMpLWKPnc3rzsszBt+0gKtO341liwq4+/VZfDiiFfNnNY0lXnFJHvf/qz+z57WnWdNC7vvrK0ya2oU2rTZyaL/5nHflyRQW5dO65cZY4lfMoCR7a55Vl6+dlcbMlptZHzPrA9wP3Jl6XFsJJM2z4X17A5uB06pRzvvLSyCSav1HwbRxLVi7KjuLCK5YUsDsac0B2Lg+n69mN6Vdp8J6HxvEtxuiz7xRI6NRI8tkE7takc3r7nXABhbOa8zi+U0oKsxj9MutGXDC6tjirVjVnNnz2gOw8dsC5i9oRfs26/nBsZ/zzCv7UVgU/R2sWhN/At1KqiaSyS0HeBKpgqRjJE2WNFXSw5KahOPzJF0v6aPw3F6S8sJ2kx3COXmSZqceV/D+jYAdgJXlPPdbSRMkfSzpBUnNw/HrJF0e7o+WdFdYDvriGD6CnNCx6yZ2772BGZN3aBCx8/KMoa9N45mJk/no/VbMSKAWUlbS192uUyFLFzbe8njZogLad04mgXVsv5Y9uq/g8y860KXTGvbp9Q133/Bv7vjT6/TabWnVb1DbzDK75QBPIpVrCjwKnGZm+xI1//0u7fllZnYgcB9wuZmVAE8CZ4TnjwU+NrPy/hWeFhZEWwC0Bf5dzjkvmll/M9ufqMnrnArK2djM+pnZHdW6ujqiafNirnlgDg9c340N65KtFWUrdkmJGPy9ffjFgD702n8du+65IbHYkN3PPGlNmxRy7aXvcO8TB7FhY2Py80to2WITF/75JIY91Z9rLhpNRhua1yZPIvVGPjDXzGaGx48BR6Q9n1qbfxLQPdx/GDgz3P818EgF7/1saDbrBEwFhpRzzj6SxkiaSpSYelf0XhVdgKRzJU2UNLGQTRWdlrPyGxl/emAO77zUlg/ebNNgYqesX9uIj8e2pN+R8TXrlJWt616+uIAOO5e2GrfvXMiyRQWxxszPL+G6S0fx9ge78f6E7gAsW7EDYybsCogZX3TATLTaMcn/OxkmEE8i9ULqX1YxYZCCmX1FtOHL0cBBwBuVvYGZGVEt5Ihynn4UuCDUgq4nqhmVZ30l7z8s1FL6FdCksqLkIOPS2+Yxf3ZTXnwouRFC2Y7dqm0hO+xYBEDjJiUcePhqvvoins7lbWXvumdMaU6XHpvp2G0TjQpKGHTyKj4c2SrGiMbl577Plwta88Lr+2w5+sHEXeizd7RzbJdOq2nUqJjVaxP8v2NASUlmtxzgo7MqVwx0l7SHmc0mWpf/3Qxe9xBRs9YTZpbJMIuBwBflHN8RWBR2JjuDqOkrUVcOncd+A9bRqm0RT06czhO3d2LEM+0Sid27/3qOPWUFcz9rxtA3PgXg0Vu7MOGdOL9Ysh+77U6F/P72OeTnGxK891pbxo9KpkaQzesuKRZDr+7CTU/NIS8fRj7Tli9nxpc89+m1hOMO/4I589tw/03RnkwPDz+QN0f35PLz3ufBW16iqCiPW+87nIpXU49JjiSITHgSqdy3wK+A50IH+ASiUVtVeYWoGauipiyI+kQGEtUGvwbOLuecPwHjiIYZjyNKKom6eXD3pENuMX1CC07cpW+Diz338+ZccNI+VZ8Yg2xeN8CEUS2ZMKplIrGmzejIsT//VbnP3XzvkYmUoXy5M/IqE55EKmBm16U9PKCc57un3Z8IDEp7en+iDvXPK3jvR4maqiqNa2b3EXXaV3bOoLLPO+fqMINojE7d4Emklkm6kmgE1xlVneucc+WqQzUR71ivZWZ2s5ntGraldM656qtDo7O8JuKcc7nEzDvWnXPO1ZwV1521szyJOOdcTsmdpqpMeBJxzrlc4kvBO+ec2y51aIivj85yzrkcYoCVWEa3TEg6UdKMsKL4lbVdXq+JOOdcLjGrtY51SfnAUOA4opUxJkh6xcw+rZUAeE3EOedyj5VkdqvaQcBsM5sTNtZ7Bji5Nosqq0OjANz2kbQU+LKGL28PLKvF4njs3I/vsatvVzOrcBO6TEh6M5QhE02J1vhLGWZmw9Le61TgRDP7TXj8S+BgM7tge8qYzpuzGpDt+cctaaKZ9avN8njs3I7vsbPDzE7MVuya8OYs55yrvxYA3dIed6WWt5TwJOKcc/XXBKCnpB6SGgOnE21VUWu8OctlaljVp3jsehbfY9dxZlYk6QJgBNF23w+b2fTajOEd684552rMm7Occ87VmCcR55xzNeZJxDmHpHxJt2e7HEkL131ptstRl3mfiKtQWDKhI2kDMMxsfozxphItHbTNU1Fo2y/G2D+u7HkzezGu2GXK0QQ4BejO1p/7DQnE/tDMDok7TgWx/wQ8amZfpR07N33iXIyxx5vZQXHHqa88ibhySboQuBb4BkitrxD3F/mulT1vZjWdbZ9J7EfC3Z2AQ4FR4fFRwH/N7KS4Ypcpx5vAamASsGUBJTO7I4HY9wFdgOeA9WmxY0+gkpYAS4ELzOydcOwjMzswgdh3AgXAs2x93R/FHbs+8CTiyiVpNtHyCMuzXZYkSRoJnGVmi8LjzkS/kE9IKP40M9sniVjlxH6knMNmZr9OIPZkojWdngOeN7PbJE02swMSiP1OOYfNzI6OO3Z94PNEXEW+IvpFnBhJayltzlL40yhtzmqZQDG6pRJI8A2wSwJxU/4raV8zm5pgTADM7FdJxywTf76kI4H7JD0HNEso7lFJxKmvPIm4iswBRkt6DdiUOmhmf48roJntGNd7V8PbkkYAT4fHpwFvxR00rT+oEfArSXOIPvfY+4PSyrAncB/Q0cz2kbQf8AMz+0vcsYGJAGb2LdH1Dwb6xhlQ0i/M7ElJl5X3fJz/1usTTyKuIvPDrXG4JUrSQKCnmT0iqT2wo5nNjTuumV0QOtkPD4eGmdlLcccFEulzqcKDwBDgAQAz+0TSU0DsScTMfiupGbCLmc0ws6FE+2DEaYfwZy78eKmzvE/EVUpSCwAzW5dgzGuBfkAvM9tT0s7Ac2Z2WFJlyBZJuwNfm9kmSYOA/YDHzWxVArEnmFn/9L4ISVPMrE8Csb8P3A40NrMekvoAN5jZD+KO7baP10RcuSTtAzwBtA2PlwFn1va6OxX4EXAA8BGAmS2UFOuvxTL9MVs9RXL9MQAvAP0k7UG0htPLwFPA/yQQe1lIYgZb9qJYVPlLas11RBsojQYwsymSdksisKSmwDlAb6L9OQhliH1AQX3gScRVZBhwWdpwy0FEzR2HJhB7s5mZpNSX2Q5VvWB75Uh/DEBJWDTvx8DdZnZ3GLmUhMFEf+97SVoAzAV+kVDsQjNbLSn9WEZb99WCJ4DPgROAG4AzgM8Sil3n+Yx1V5EdUgkEwMxGU9qGHLfhkh4AWkv6LVHH9oMJxUbSQEm/CvfbS+qRVGygUNLPgDOBV8OxgiQChy1UjwU6AHuZ2UAzm5dEbGC6pJ8D+ZJ6Srob+G9Csfcwsz8B683sMeB7wMEJxa7zvCbiKjInzCJ+Ijz+BdGIrdiZ2e2SjgPWAL2AP5vZf5KInd4fAzxCNKjgSSCp/phfAecDfzWzuSGBPVHFa7ZLRaOTUrWChEYpXQhcTTQi7SmipcuTGBUGUBj+XBWacRcTTTp1GfCOdVcuSW2A64GBRG3kY4DrzWxlArHPAd4zs1lxxyon9hRCf0xa5/InSQyxzZaQOCFKnP0p3bTo+8B4M4u9SUvSgdmaIS7pN0R9UfsR/XBoQfTD5f5slKeu8STithHWzHorW5OwJF1PNMS2O9HyH+8BY8xsSgKxx5vZQaklN0J/zNikkoikuZTTwW9msXcyS3oP+J6ZrQ2PdwReM7MjEoj9DtAJeB541symxR3T1Q5vznLbMLNiSSWSWplZorPWQ/xrAcK8gd8SzV24i2hntriV7Y/5NQn2xxA1paU0BX5CGCGXgI7A5rTHm8Ox2JnZUZI6AT8FHpDUkiiZxNakVVEzXlqZfLJhBrwm4sol6WWiZp3/sPWidBclEPsaoj6IFsBk4H2imkhsw00lNTGzTeH+ccDxRMN7RyTVH1NJ2SaZWayzt0Ocq4m+xFOTK38IDDezm+KOXaYc+wJXAKeZWWwTXdOa8cplZtfHFbs+8STiyiXprPKOh9Erccf+CCgCXgPeJWpO2lT5q7Y/Zmi+esLMfhlnrCrKkb5qbR5RzeR3ZrZ/gvFTs/XfM7NEhhdL+g7REjOnAMuJVtR9wcyWJBHf1Zw3Z7lyJZEsKol9YGjOOAw4DhgmaYmZDYwxbOMwxPRQlbO3SBLLoQfpS74XAfOIagdJaQ6sCcvNdJDUI4nlZoCHgWeAE8xsYQLxUpMMTwNWAv8majY9AvgCuNHMliVRjrrOayKuXJJ6An8D9mbrWbxJdPDuQ/Rr+EiiX+JfETVn/TnGmAOJJpn9lNLRSSmJLIeebQ1tuRlJw4mG9+4AtAGmESWTgUAfS2gPmbrOk4grl6T3iTalupNoqOevgLw4v8jTYr9KNKR4DDDBzAqreEltxj7HzP6ZVLwysY8EVoaFD39K6a/ie+Nuzgvxp5Cl4c3Z+NGisHeLpEZE65V1Snvu46SaEOs6n7HuKtLMzN4m+qHxpZldRzSTN3bhF+CdhMmGkhKZsR2sSa3TJekaSS9KSmJjpKFEk+v+KelJ4OdEv4wPJGrqScJmi35VJrbcTJpHiJahLyLaTfJxokmecdoMYGZFQNkmtOJtT3fl8T4RV5FNkvKAWZIuABYQjZaKXfhF/jhRf4CAbpLOMrP3Egj/JzN7LjRvHQvcBtxP/MtgHGVme4d2+gXATmGo9QPAJzHHTsnm8OZmZva2JFm0DfJ1kiYBcdZ8u0r6P6J/Y6n7hMddYoxbr3gScRW5mKiT9SLgRuBooNwRWzH4O3C8mc2ALZslPU3MmxQFqV+g3yPaS+Q1SUksv/EtRJsySfrSzIrDY5OUSHNeNpebITs/Woak3Z9Y5rmyj10FPIm4cpnZhHB3HVF/SJIKUgkklGVmgk1aC8Kv8eOAWyQ1IZlm353C5Del3Sc87pBA/JRPgCbh/scJxk38R0s2RyDWJ96x7soVfv0PAXYl7ceGmR2dQOyHiZYBT7WJnwHkJzFCSlJz4ERgqpnNktQZ2NfMRsYcN+sT30Jn/m1Ee3qIaITcEDN7Pu7Yru7yJOLKJeljor6ASaR1MprZpARiNyHa2yI1L2QMCY1QCvHbAN3YOnlmZXHAJIW/8+NSE/wkdSBaQy32UUrZ/NHito83Z7mKFJnZfUkGlLQT8EdgD2AqcLaZrUm4DDcCZxMNrU39wjKi5pX6Lq/MDPHlJDeC8zmiHy0PkvDIKEntzGx5kjHrE6+JuK1ISi32dxGwhGgdpS01ADNbEWPsNyldtfckoIWZJdofI2kGUfPV5ipPrmck3Ua0HPrT4dBpwCdm9ocEYieyPlgFsWcBU4iGGb9h/qVYLZ5E3FbSliJXOU9bzJO/tprglVrPKq54FZThBaK1qhrUmk2KdqDqSrSfyJZmRDN7qeJX1UrcrP1oSSuDiIZz/5ro+ocDj5rZzLhj1weeRFzOCG3ygyhNYO+kP07oC6Uf8DLRRL/0L7MfxBx3OTAO+IBoW9hxZrYhzpjllGGqme2bcMys/WipoDxHEQ3o2IFodNqVZjY2yTLUNZ5E3FYk9Qe+MrPF4fGZRCurfglcF3Nz1jyiUVlZ+0KRNB14gKhPpiQt+Lsxx20JHAIcGm59gblESeUDMxseZ/xQhseAe9KGdzcIktoRbf/8S+Ab4J9E66f1IVo7rEf2Spf7PIm4rYRl2I81sxWSjiBaWfVCov9Q3zGzU7NZvrhJmmBm/XOgHDsQzc+5BOhhZrFvyCXpc6JBDV8S7SEjouQd29pZkn5B9D30RJnjvwSKzeypuGKnxZpJtI/9I2b2dZnn/mBmt8RdhrrMk4jbSnq/RFjPaWlYNwtJU8ysTxaLFztJfydqxnqFrZuzYh3iG1bMTdVCUklsEvAh0X4qX8YZP5Rh1/KOxxlb0jjgGDNbV+b4DkT7mSSxGZe8M73mfIivKytfUqOwKN0xwLlpzzWEfy+pxRYPSTuWxBDfr4GPiBaevDIbo8PM7EtJ+URb4ib1d11QNoGEsqxPcJWCnpIuB7rjc1SqrSF8KbjqeRp4V9IyYCPRRD8k7QEkvt960szsqCyFPgwYAPwIuCz0D40Nt4kJLQV/IdHy/99Q2h9kRMN+49JM0g5mtj79YFhJObatcctIzVF5CF+9t9q8OcttQ9IhQGdgZOo/d5hR3CKpmdvl/SI2s/kJxC131VgzuyHu2GXK0Z1oH5eLga5m1rTyV9RKzNnAwUlOvAs1gGOA81PNZuHahwKjzey2BMqQtTkq9YHXRNw2zOzDco4lNmY+S7+IU9J/ETclmvT4WQJxkbQXpf0ihwGtifpE7k8iPtEOkonWNsPKweuA9ySlVu1dB9yc4IoJ/5b0v2Rhjkp94DURl3Oy8Yu4krI0AUaY2aCY4ywj2hhpLGGuiJnNjjNmWuzUisG9iZaAf42tv0z/nlA5dgzx1iYRLy1ueXvIJz5Hpa7ymojLRYn/Iq5Ec6KZ3HHb3cyydc07hj/nh1tjkuuP2CLp5JEW1+eBbAdPIi4XzQFGS0r8F7GkqZQuvJhPtJfHjXHHzWICSWSZ+VwWRoH9jmhPe4iWwn/AzBLZDKyu8yTitiJpLaVfoqmZ46llKczMWiZQjGz+Ij4p7X4RUb9MkwrOrVck/Qf4iZmtCo/bAM+Y2QlZLVj87gMKgHvD41+GY7/JWonqEO8TcS6Q1IVoVNonZrY5LE1/CdGS9DtntXAJKG8yqaTJZnZABS+pzdhlawPvAvfHWRtIzYcqu/BneG6bY658Se0V4OogSQMl/Srcby8p1rZjSXeFP/8t6ZWyt5hjX0K0HPjdwIeSfkM0KqsZyeztnipHR0n/lPRGeLy3pHMSCl8saZe0suxKaa00bvcRfc73htuB4Vicxoc/iyXtnjooaTd8vkjGvDnLlSts19qPaLTOI0TNSk8SDT2NS2r9pNtjjFGRc4FeYc2wXYCZwGFJ7ORYxqNEn/fV4fFM4FmiRQHjdjXwvqR3Kd0e99zKX1Jr+pf55T8qrOocp1Rz7eXAO5LmhMfdidYtcxnwJOIq8iOiJUA+AjCzhakhmHFJfWHHvWJuBb5NzQsws/mSZmQhgQC0N7Phkq4KZSmSlMivYjN7U9KBREu+GHCJmS1LIjahNmBmX0BitYEOacObHyAaSEGIewDRVgSuCp5EXEU2m5lJMtiyIF6syoyM2uopYl5NFugq6f/SHndOf2xmF8UYO936sDR56nM/hJiHO4dmq1VmttrMlklaD/wQ6CXpnoTW8RpCaW1ARHutx10byAdasO3WA40oHfbsquAd665cYTmKnsBxwN+Idn17yszujjFmuavIpsS8muxZVcR+LK7YZcpxIFG/zD5EG2N1AE41s09ijDkO+FGobfYB3iL6O98PKDSzREYphYmdvcLDGXGvF6Ys7JxZH3kScRWSdBxwPNEvtRFm9p8EY3ekdEn08daAtquV1Ijoy1REX6axzleQ9EmqlifpdqDEzK6QlAdMibkGmCrDj8s5vBqYGtfffVIjz+o7TyIu50j6KXAb0aSvVAfvEDN7PpvlSkKWvky3bIuraFOyq8xsRHj8SUJJ5DWiVYxT/RCDiPZT6QHcUHbTqlqK2dbXx9p+3ifitiLpfTMbWGbSISQ72fBqotE6S0KZOhA1sdT7JAKcQwVfppJi+TIlGgk1HFgEtAFGAUjqDCS1r0kjop0zvwmxOwKPAwcD71E6cq/WeAKpHZ5E3FbMbGD4M5sdi3llfnUvp+HMaUr8y5RoQuVpRBMtB6Y1n3WidKhx3LqlrjlYEo6tkOTLj+QwTyJuG2Evj+lmtleWivCmpBFEG2RB9AX3RpwBJd1NJRPrEhydlfiXadga9plyjk+OI14FRkt6lWiDKIBTwrEdgFUJlsNVkycRtw0zK5Y0Q9IuSWwEVU78IaFvYGA4NMzMXoo57MTw52HA3kQT/AB+Anwac+x0DfXLdDDRtaYmsz4OvBASXLZ2m3QZ8I51Vy5J7xFNuBpP2kZNZvaDGGPuAXQ0sw/KHB8ILEpNRIuTpA+JmnSKwuMCYIyZHVL5K2u1DKdQmkA/oPTL1Lmc4zURV5E/ZSHmXcBV5RxfHZ77fgJlaAO0BFKdri3CsdiVaUZ8IYmYuaLMQI7GRKvqrk9oIIfbDp5EXLnKLj0SagM/I1pdNS4dzWxqOWWZGvbdTsLNwGRJ7xCNSDsCuC6JwNlqRqxkpYBUuWIf4ps+kEOSgJOJll9xOc6bs1yFJB0A/JyoX2AuUbPKPTHGm2VmPSt4braZ7RFX7DKxOhGNhgIYZ2aLk4gbYmejGTG1UsDg8GdqBNgZIfaVccWujE8GrBs8ibitSNqTqMbxM2AZUQfz5WZW6ZIktRT7aWCUmT1Y5vhvgOPM7LQYY1e6/IWZfRRX7DLlOLKC+LEvSlnel3ZSS4OUmWSZR7SC9JFmNiDu2G77eHOWK+tzYAxwkpnNBpB0aUKxLwFeknQG0QQ7iL5MGhOtKhynOyp5zoCjY44fBTJ7N4tLvkjSYamBDZIOJbn5Oen9XUXAPKImLZfjvCbitiLph8DpREMt3ySaP/CQmcW6IVWZMhxFtAAhRB3No5KKnW3ZXPIl1MYeAVqFQ6uAXydVC3N1kycRV64wL+Fkomato4nG7b9kZiOzWrAESNqHaK5I09QxM3s8odgfEzXdbbXkS9xbtYaRYReZ2Z2SWgGYWaxL0Ie4uTLJ09WQJxFXJUltiDrXTzOzY7JdnjiFHR0HESWR14HvAu+b2akJxd+yGGJ4nAd8nH4sxtjjzeyguOOUiZm+BP/1wLXpzye1BL+rOU8izqUJw133Byab2f6hf+JJMzsuofi3Ee3jkb7ky1QzuyKB2HcSzc94lq1HhiU1qMBHY9VB3rHu3NY2mlmJpCJJLQlrVyUVPEtLvqT0CX/ekF4kEhpUQCXNWi53eRJxbmsTJbUGHiQaIbYOGJtwGSYBa8zsLUnNJe1oZmvjDmpmvkaVqzZvznKuAmGWfMs4t6YtJ+ZvgXOBtma2u6SewP1J9UVJ+h7Qm60HFdxQ8Su2O176cifNgQ2pp0hu/xq3Hbwm4lwZkroAuxL+f0g6wszeSyj8YOAgYByAmc2StFMSgSXdT/RFfhTwEHAq0cz52GR53xpXCzyJOJdG0i1EndmfAsXhsBFtCJWETWa2OVo+ast+60k1FxxqZvuFLXGvl3QHMe/j4uo+TyLObe2HQC8z25Sl+O9K+iPQTNJxwP8C/04o9sbw5wZJOxPtKNk5odiujmooW446l6k5RMNcs+VKYCkwFTiPaK7KNQnFfjUMKrgN+Iho6ZGnK3uBc96x7lwaSS8QzRN5G9hSG2loM6clNQGaJjFr3dVt3pzl3NZeCbdESToZ6GpmQ8PjcUCH8PQfzOy5Cl9cu+U4FOhO6aCCxJZ8cXWT10ScK0NSY2DP8HCGmRUmEPMD4HQz+yo8ngIcA+wAPJLEEF9JTwC7A1NIG1TQ0Gphrnq8JuJcGkmDgMeI+gMEdJN0VgJDfBunEkjwvpktB5aHxTCT0A/Y2/dzd9XhScS5rd0BHG9mM2DLJl1PA31jjrvVPu5mdkHaww4kYxrQCViUUDxXD3gScW5rBakEAmBmMyUlMVprnKTflrOr43nEPOFP0r+J5qLsCHwqaTxbDyqIbWteV/d5n4hzaSQ9DJQAT4ZDZwD5ZvbrmOPuBPw/oi/v1Kq5fYEmwA/N7JsYY6e25DWiJrytJLE1r6u7PIk4lyYMbR1M6Sq6Y4B7k5p8KOloorWrIMFdHcOmVNPNbK8k4rn6w5OIc2WE3QQxs6XZLkuSJL0MXGhm87NdFld3eJ+Ic4CixaquBS4grOQgqRi4O85VbHNMG2B66BNJ35TK+0RchTyJOBe5FDgM6G9mcwEk7QbcJ+lSM7szq6VLxp+yXQBX93hzlnNEW7MCx5nZsjLHOwAjG8q2rZJ2BXqmNsQiGlQQ+4ZYru7yBRidixSUTSCwpV8kmwsyJiZsiPU88EA41IVoxJhzFfIk4lxkcw2fq08GEzXprYFoQywgkQ2xXN3lfSLORfaXtKac4yJtq9h6LpsbYrk6ypOIc4CZ5We7DDkgmxtiuTrKO9adcwBIygPOAY4nqoGNAB7yBRldZTyJOOecqzHvWHeugZN0sqTBaY/HSZoTbj/JZtlc7vMk4py7gq13c2wC9AcGAedno0Cu7vCOdedcLmyI5eoor4k453JhQyxXR3kScc6NC7PVt5LEhliu7vPRWc41cNncEMvVfZ5EnHNA9jbEcnWbJxHnnHM15n0izjnnasyTiHPOuRrzJOJcIKlY0hRJ0yQ9FzZlqul7PSrp1HD/IUl7V3LuIEmH1iDGPEntMz1e5px11Yx1naTLq1tGV/95EnGu1EYz62Nm+xDtIbLVbO2wNHq1mdlvzOzTSk4ZBFQ7iTiXCzyJOFe+McAeoZYwRtIrwKeS8iXdJmmCpE/CXAoUuUfSDElvkbaZk6TRkvqF+ydK+kjSx5LeltSdKFldGmpBh0vqIOmFEGOCpMPCa9tJGilpuqSHiFbarZSk/ydpUnjNuWWeuzMcfztsA4yk3SW9GV4zRtJetfJpunrLlz1xroxQ4/gu8GY4dCCwj5nNDV/Eq82sv6QmwAeSRgIHAL2AvYGOwKfAw2XetwPwIHBEeK+2ZrZC0v3AOjO7PZz3FHCnmb0vaReiJdm/A1xLtCTJDZK+R7Rse1V+HWI0AyZIeiEsabIDMNHMLpX05/DeFwDDgPPNbJakg4F7gaNr8DG6BsKTiHOlmkmaEu6PAf5J1Mw03szmhuPHA/ul+juAVkBP4AjgaTMrBhZKKm+OxSHAe6n3MrMVFZTjWGDv1A6DQEtJLUKMH4fXviZpZQbXdJGkH4X73UJZlwMlwLPh+JPAiyHGocBzabGbZBDDNWCeRJwrtdHM+qQfCF+m69MPARea2Ygy5/1PLZYjDzjEzL4tpywZkzSIKCENMLMNkkZT8Va/FuKuKvsZOFcZ7xNxrnpGAL+TVAAgac+w0u17wGmhz6QzcFQ5r/0QOEJSj/DatuH4WmDHtPNGAhemHkjqE+6+B/w8HPsuZRZOLEcrYGVIIHsR1YRS8oBUbernRM1ka4C5qT1EQj/P/lXEcA2cJxHnquchov6OjyRNAx4gqtG/BMwKzz0OjC37QjNbCpxL1HT0MaXNSf8GfpTqWAcuAvqFjvtPKR0ldj1REppO1Kw1v4qyvgk0kvQZcDNREktZDxwUruFo4IZw/AzgnFC+6cDJGXwmrgHzZU+cc87VmNdEnHPO1ZgnEeecczXmScQ551yNeRJxzjlXY55EnHPO1ZgnEeecczXmScQ551yNeRJxzjlXY/8fFJM4Wl5JUAQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_components = 110\n",
    "print('Extracting the top %d eigenfaces from %d faces' % (n_components, X_train.shape[0]))\n",
    "t0 = time()\n",
    "pca = PCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "eigenfaces = pca.components_.reshape((n_components, h, w))\n",
    "\n",
    "print('Projecting the input data on the eigenfaces orthonormal basis')\n",
    "t0 = time()\n",
    "X_train_pca = pca.transform(X_train)\n",
    "X_test_pca = pca.transform(X_test)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "print(\"Fitting the classifier to the training set\")\n",
    "t0 = time()\n",
    "param_grid = {\n",
    "    \"C\": loguniform(1e3, 1e5),\n",
    "    \"gamma\": loguniform(1e-4, 1e-1),\n",
    "}\n",
    "clf = RandomizedSearchCV(\n",
    "    SVC(kernel=\"rbf\", class_weight=\"balanced\"), param_grid, n_iter=10\n",
    ")\n",
    "clf = clf.fit(X_train_pca, y_train)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "print(\"Best estimator found by grid search:\")\n",
    "print(clf.best_estimator_)\n",
    "\n",
    "print(\"Predicting people's names on the test set\")\n",
    "t0 = time()\n",
    "y_pred = clf.predict(X_test_pca)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "\n",
    "print(classification_report(y_test, y_pred, target_names=target_names))\n",
    "ConfusionMatrixDisplay.from_estimator(\n",
    "    clf, X_test_pca, y_test, display_labels=target_names, xticks_rotation=\"vertical\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "dc2ddcbb",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting the top 120 eigenfaces from 966 faces\n",
      "done in 0.273s\n",
      "Projecting the input data on the eigenfaces orthonormal basis\n",
      "done in 0.017s\n",
      "Fitting the classifier to the training set\n",
      "done in 7.655s\n",
      "Best estimator found by grid search:\n",
      "SVC(C=31543.028047215, class_weight='balanced', gamma=0.006218941270992173)\n",
      "Predicting people's names on the test set\n",
      "done in 0.038s\n",
      "                   precision    recall  f1-score   support\n",
      "\n",
      "     Ariel Sharon       1.00      0.69      0.82        13\n",
      "     Colin Powell       0.79      0.90      0.84        60\n",
      "  Donald Rumsfeld       0.89      0.63      0.74        27\n",
      "    George W Bush       0.85      0.97      0.90       146\n",
      "Gerhard Schroeder       0.91      0.80      0.85        25\n",
      "      Hugo Chavez       1.00      0.47      0.64        15\n",
      "       Tony Blair       0.93      0.75      0.83        36\n",
      "\n",
      "         accuracy                           0.86       322\n",
      "        macro avg       0.91      0.74      0.80       322\n",
      "     weighted avg       0.87      0.86      0.85       322\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x7f126e314070>"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_components = 120\n",
    "print('Extracting the top %d eigenfaces from %d faces' % (n_components, X_train.shape[0]))\n",
    "t0 = time()\n",
    "pca = PCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "eigenfaces = pca.components_.reshape((n_components, h, w))\n",
    "\n",
    "print('Projecting the input data on the eigenfaces orthonormal basis')\n",
    "t0 = time()\n",
    "X_train_pca = pca.transform(X_train)\n",
    "X_test_pca = pca.transform(X_test)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "print(\"Fitting the classifier to the training set\")\n",
    "t0 = time()\n",
    "param_grid = {\n",
    "    \"C\": loguniform(1e3, 1e5),\n",
    "    \"gamma\": loguniform(1e-4, 1e-1),\n",
    "}\n",
    "clf = RandomizedSearchCV(\n",
    "    SVC(kernel=\"rbf\", class_weight=\"balanced\"), param_grid, n_iter=10\n",
    ")\n",
    "clf = clf.fit(X_train_pca, y_train)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "print(\"Best estimator found by grid search:\")\n",
    "print(clf.best_estimator_)\n",
    "\n",
    "print(\"Predicting people's names on the test set\")\n",
    "t0 = time()\n",
    "y_pred = clf.predict(X_test_pca)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "\n",
    "print(classification_report(y_test, y_pred, target_names=target_names))\n",
    "ConfusionMatrixDisplay.from_estimator(\n",
    "    clf, X_test_pca, y_test, display_labels=target_names, xticks_rotation=\"vertical\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "27195160",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting the top 130 eigenfaces from 966 faces\n",
      "done in 0.251s\n",
      "Projecting the input data on the eigenfaces orthonormal basis\n",
      "done in 0.015s\n",
      "Fitting the classifier to the training set\n",
      "done in 6.469s\n",
      "Best estimator found by grid search:\n",
      "SVC(C=2969.7103610131394, class_weight='balanced', gamma=0.0036357994890059246)\n",
      "Predicting people's names on the test set\n",
      "done in 0.049s\n",
      "                   precision    recall  f1-score   support\n",
      "\n",
      "     Ariel Sharon       0.69      0.69      0.69        13\n",
      "     Colin Powell       0.81      0.87      0.84        60\n",
      "  Donald Rumsfeld       0.82      0.67      0.73        27\n",
      "    George W Bush       0.88      0.97      0.92       146\n",
      "Gerhard Schroeder       0.86      0.76      0.81        25\n",
      "      Hugo Chavez       0.90      0.60      0.72        15\n",
      "       Tony Blair       0.90      0.75      0.82        36\n",
      "\n",
      "         accuracy                           0.85       322\n",
      "        macro avg       0.84      0.76      0.79       322\n",
      "     weighted avg       0.85      0.85      0.85       322\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x7f126e2a3640>"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_components = 130\n",
    "print('Extracting the top %d eigenfaces from %d faces' % (n_components, X_train.shape[0]))\n",
    "t0 = time()\n",
    "pca = PCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "eigenfaces = pca.components_.reshape((n_components, h, w))\n",
    "\n",
    "print('Projecting the input data on the eigenfaces orthonormal basis')\n",
    "t0 = time()\n",
    "X_train_pca = pca.transform(X_train)\n",
    "X_test_pca = pca.transform(X_test)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "print(\"Fitting the classifier to the training set\")\n",
    "t0 = time()\n",
    "param_grid = {\n",
    "    \"C\": loguniform(1e3, 1e5),\n",
    "    \"gamma\": loguniform(1e-4, 1e-1),\n",
    "}\n",
    "clf = RandomizedSearchCV(\n",
    "    SVC(kernel=\"rbf\", class_weight=\"balanced\"), param_grid, n_iter=10\n",
    ")\n",
    "clf = clf.fit(X_train_pca, y_train)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "print(\"Best estimator found by grid search:\")\n",
    "print(clf.best_estimator_)\n",
    "\n",
    "print(\"Predicting people's names on the test set\")\n",
    "t0 = time()\n",
    "y_pred = clf.predict(X_test_pca)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "\n",
    "print(classification_report(y_test, y_pred, target_names=target_names))\n",
    "ConfusionMatrixDisplay.from_estimator(\n",
    "    clf, X_test_pca, y_test, display_labels=target_names, xticks_rotation=\"vertical\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "a8ae325d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting the top 140 eigenfaces from 966 faces\n",
      "done in 0.265s\n",
      "Projecting the input data on the eigenfaces orthonormal basis\n",
      "done in 0.014s\n",
      "Fitting the classifier to the training set\n",
      "done in 7.517s\n",
      "Best estimator found by grid search:\n",
      "SVC(C=2926.477084039137, class_weight='balanced', gamma=0.0043786746782307874)\n",
      "Predicting people's names on the test set\n",
      "done in 0.059s\n",
      "                   precision    recall  f1-score   support\n",
      "\n",
      "     Ariel Sharon       0.78      0.54      0.64        13\n",
      "     Colin Powell       0.80      0.87      0.83        60\n",
      "  Donald Rumsfeld       0.94      0.63      0.76        27\n",
      "    George W Bush       0.86      0.98      0.91       146\n",
      "Gerhard Schroeder       0.83      0.80      0.82        25\n",
      "      Hugo Chavez       0.89      0.53      0.67        15\n",
      "       Tony Blair       0.93      0.78      0.85        36\n",
      "\n",
      "         accuracy                           0.85       322\n",
      "        macro avg       0.86      0.73      0.78       322\n",
      "     weighted avg       0.86      0.85      0.85       322\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x7f126e2a3610>"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_components = 140\n",
    "print('Extracting the top %d eigenfaces from %d faces' % (n_components, X_train.shape[0]))\n",
    "t0 = time()\n",
    "pca = PCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "eigenfaces = pca.components_.reshape((n_components, h, w))\n",
    "\n",
    "print('Projecting the input data on the eigenfaces orthonormal basis')\n",
    "t0 = time()\n",
    "X_train_pca = pca.transform(X_train)\n",
    "X_test_pca = pca.transform(X_test)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "print(\"Fitting the classifier to the training set\")\n",
    "t0 = time()\n",
    "param_grid = {\n",
    "    \"C\": loguniform(1e3, 1e5),\n",
    "    \"gamma\": loguniform(1e-4, 1e-1),\n",
    "}\n",
    "clf = RandomizedSearchCV(\n",
    "    SVC(kernel=\"rbf\", class_weight=\"balanced\"), param_grid, n_iter=10\n",
    ")\n",
    "clf = clf.fit(X_train_pca, y_train)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "print(\"Best estimator found by grid search:\")\n",
    "print(clf.best_estimator_)\n",
    "\n",
    "print(\"Predicting people's names on the test set\")\n",
    "t0 = time()\n",
    "y_pred = clf.predict(X_test_pca)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "\n",
    "print(classification_report(y_test, y_pred, target_names=target_names))\n",
    "ConfusionMatrixDisplay.from_estimator(\n",
    "    clf, X_test_pca, y_test, display_labels=target_names, xticks_rotation=\"vertical\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "8e63b396",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting the top 150 eigenfaces from 966 faces\n",
      "done in 0.246s\n",
      "Projecting the input data on the eigenfaces orthonormal basis\n",
      "done in 0.017s\n",
      "Fitting the classifier to the training set\n",
      "done in 8.412s\n",
      "Best estimator found by grid search:\n",
      "SVC(C=2862.2512922677192, class_weight='balanced', gamma=0.0011667039209164113)\n",
      "Predicting people's names on the test set\n",
      "done in 0.048s\n",
      "                   precision    recall  f1-score   support\n",
      "\n",
      "     Ariel Sharon       0.53      0.69      0.60        13\n",
      "     Colin Powell       0.75      0.88      0.81        60\n",
      "  Donald Rumsfeld       0.76      0.70      0.73        27\n",
      "    George W Bush       0.93      0.92      0.92       146\n",
      "Gerhard Schroeder       0.90      0.76      0.83        25\n",
      "      Hugo Chavez       0.83      0.67      0.74        15\n",
      "       Tony Blair       0.91      0.81      0.85        36\n",
      "\n",
      "         accuracy                           0.85       322\n",
      "        macro avg       0.80      0.78      0.78       322\n",
      "     weighted avg       0.86      0.85      0.85       322\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x7f126e38a5b0>"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZEAAAFbCAYAAAAUUrOFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAABYoklEQVR4nO3dd7hU1dn38e/vFJoIeAABAQWVQCyIigUr2BNNTKKJJiaWmFiCJuqjiXk1iSWPSSzRPIo99lgw0WhsoCKKDQFBARUlVAWkCUgRTrnfP9YaGY6nzDmcvWcO3J/rmouZPXv2vfYAc++1V5OZ4ZxzzjVGUb4L4JxzrvnyJOKcc67RPIk455xrNE8izjnnGs2TiHPOuUbzJOKcc67RSvJdAJeeFkWtrXXJlnmJbeUVeYkLgPIXGu9Bv1n5glWss7Ub9S/uyCFb2JKllTntO+HdtSPM7KiNibexPIlsRlqXbMl+nX6Ql9gVny7MS1wAFRfnLbZV5vZjkFwBPIulaay9uNHHWLy0gtef657Tvq22mdlpowNuJE8izjlXQAyoakZVWE8izjlXYKqoyncRcuZJxDnnCohhVDaj25CeRJxzrsD47SznnHONYkClJxHnnHONYUC5eZuIc865Rmo+KcSTiHPOFRTD/HaWc865RjKobD45xJOIq9+3fzibI7/7MRKMeLwHTzy4XSpxL7huDvsctoJli0s489B+qcTM6NRtHRddP5MOnSvA4JkHO/HEXV1SiZ3P8wYYOHgFZ105j+Ii49mHyhh+UzrnvTnHzhYGGzYfm8UEjJK+I8kk1fk/UtLrORxrZS3bL5E0VdK7kiZJ2idunyUp71MTNNZ2O3zOkd/9mAtO3pdzThzE3gcuolvP1anEHjm8jEtO2j6VWNVVVYo7/tiTMw/dmfOO7ce3Tl7Etn3WpBI7n+ddVGQMveoTLj2pNz8f3Jchxy5j2z5feOwUGaLccnsUgs0iiQA/BF6Nf36FpBIAM9uvMQeXNAg4BtjDzPoDhwFzG1fUr5Yrn3r2XsWHUzqw9otiqiqLmDxhK/Y75NNUYk8Z25bPl+Vn3qulC0uZPqUNAGtWFTN3eis6di1PJXY+z7vv7quZN6sFC+a0pKK8iNFPdGDQkcs9dsoqUU6PQrDJJxFJbYEDgNOBE7O2D5Y0RtKTwHtx28qs9y+SNC7WLC6vJ0w3YLGZrQUws8VmNi/r/XMlvS1pcqY2JGlvSW9ImijpdUl94/ZTJT0paRTwoqQySf+O5XhTUv+432WS7pI0WtIMSb/c2O+qJrP/25add/+MLduvo2WrSgYesJjOXfJzhZYvXXqsZYedVzNt4hb5LkriOnYtZ9G8Fl++Xjy/lE7d0kmem2vs6sI4keaTRPJ+pZuCY4HnzOxDSUsk7WlmE+J7ewC7mNnM7A9IOgLoA+xNmEj8SUkHmdkrtcQYCfxe0ofAC8AjZvZy1vuLzWwPSb8ALgR+BnwAHGhmFZIOA64CjssqV38zWyrpRmCimX1H0iHAfcCAuF8/YAiwJTBN0i1mtsG/fElnAGcAtCpum+NXtt7cmW355z29+OPNE/hiTTEzpm1JZVVh/ONNQ6s2lVx62wxuu7wnq1fmbzZgt3mpKpBbVbnYHJLID4G/xecPx9eZJPJW9QQSHREfE+PrtoSkUmMSMbOVkvYEDiT8qD8i6WIzuyfu8lj8cwLwvfi8PXCvpD6Ei4/SrEM+b2ZL4/MDiMnFzEZJ6iipXXzv6Vj7WStpIdAF+Lha2W4Hbgdo32LrRvX5GPlED0Y+0QOAk8/5iCWftmzMYZqd4hLjd7fN4KXHy3jtua3yXZxULFlQSudt1n35ulO3chbPL63jEx67qWVqIs3FJn07S1IZcAhwp6RZwEXADyRl/oZW1fZR4E9mNiA+djSzv9cVy8wqzWy0mf0BOIf1tQqAtfHPStYn7iuBl8xsF+BbQKus/WsrV3Vrs55nH7tJtd8qhOncdQ37DfmU0c92SyJMgTHOv2YWc6a34rE789NLJx+mTWpD997r6NJzLSWlVQw+dhlvjmzvsVNkiEqKcnoUgk29JnI8cL+ZnZnZIOllQo2hLiOAKyX9I9YyugPlZlbjykqxPaPKzD6KmwYAs+uJ0R74JD4/tY79xgAnxfIMJtwaW7E+Dybv/137Du3al1NRIW75y9dZtTKdK7SLh82i/6CVtC+r4IHxU7n/2q6MeLhjKrF33msVhx23lJnvt2bYs+8BcM/V3Rn3UvI/LPk876pKMeyS7lz14AyKimHkw2XM/rBV/R/02E0mTHtSGAkiF5t6Evkh8Jdq2/4Vtz9S24fMbKSkrwNvxB/rlcCPgdqW52sL3CipA1ABTCe2Q9ThasLtrEuBp+vY7zLgLknvAquBU+o5bpP7zel7px0SgD8P7ZWXuABTx7XlqG33zEvsfJ43wLhR7Rg3ql39O3rshIjKJkoiku4i9BxdGO96IOkawt2PdcB/gdPMbFl877eETkiVwC/NbES9MawZzVvvNk77FlubL4+bLl8ed/My1l5khS3dqNsEffu3stuf3DanfQf3/miCmQ2s7X1JBxEugu/LSiJHAKNip56/AJjZbyTtBDxE6FC0DaGT0NfMrM5/xM2nzuScc5uJpuriG3uULq22baSZVcSXbwI94vNjgYfNbG3scDSdkFDqtKnfznLOuWbFrEG3szpJGp/1+vbYIzNXP2X9rf3uhKSS8XHcVidPIs45V2Cqcu/iu7iu21l1kXQJoQ33H435fIYnEeecKyCGWGfJ/jRLOpXQ4H6orW8Y/wTombVbD9b3IK2Vt4k451wBCbP4FuX0aAxJRwG/Br5tZtmzqT4JnCippaTehAHWb9V3PK+JOOdcgalsomlPJD0EDCa0nXwM/AH4LdASeD4OYXjTzM4ys6mShhPmEqwAhtbXMws8iTjnXEHJjFhvkmOZ1TRzea2zb5jZ/wL/25AYnkScc67AVPmIdeecc41RhVhnzWfGaE8imxGrqKBy8ZK8xJ530aC8xAXo/td62wYTk8/R8hD+zvMmxfndvqKZj9RvbKN5PngScc65AmJGk82dlQZPIs45V1DUkMGGeedJxDnnCojhNRHnnHMboVAWnMqFJxHnnCsghij33lnOOecaw/BxIs455xott7VCCoUnEeecKyBeE3HOObdRvCbinHOuUczkNRHnnHONY+C9s9ymo1O3dVx0/Uw6dK4Ag2ce7MQTd3VJNOZzP32A1etKqTRRWVXEiQ8dzzmD3mLI9jOpQixd3ZpLRx7ColVbJFaGfJx3IcQGGDh4BWddOY/iIuPZh8oYflN6sS+4bg77HLaCZYtLOPPQfqnFhfye94YatMZ63m0WSURSV+AGYC9gGfApcJ6ZfVjL/r2Ap8xsF0kDgZPN7JcNiDcL+JxwUbEgfn7BRpxCbXFWmlnb7PI2dYyqSnHHH3syfUobWm9RyY1Pv8/EMe2Y81Hrpg61gZ/+89ss+2J9jLsnDOCmN/YG4EcD3uWsfcZz5aiDE4ufr/POd+yiImPoVZ/w2xO3Z/H8Um585iPeHNGeOR+1Sjw2wMjhZTx5dycu+tucVOJl5Pu8s4WG9ebTJtJ80l0jKSzd9Tgw2sx2MLM9CSt75XSZYWbjG5JAsgwxs/7AeOD/NeLzBWHpwlKmT2kDwJpVxcyd3oqOXctTL8eqdS2+fN66tIKk52jN53nnM3bf3Vczb1YLFsxpSUV5EaOf6MCgI5enEhtgyti2fL4s/Vs5+T7v6iopyulRCAqjFMkaApSb2a2ZDWb2jpmNUXCNpCmSJks6ofqHJQ2W9FR8fpmkuySNljRDUi7J5RVgR0mtJN0d40yUNCQe82lJ/ePziZJ+H59fIenn8flFksZJelfS5Rv9jTRSlx5r2WHn1UybmNxtJAizmN72vad45IePcvwu7325/dz9xvL86fdxdN8PGRZrJWlI67wLIXbHruUsmrc+YS+eX0qnbulfNKStkM7bEFWW26MQbA63s3YBJtTy3veAAcBuQCdgnKRX6jleP0Ji2hKYJukWM6vrX9sxwGRgKGBmtqukfsBISV8DxgAHSppNWNd4//i5A4GzJB0B9AH2BgQ8KekgM6uvnABIOgM4A6AVbXL5SI1atank0ttmcNvlPVm9MtkrxVOGf4eFq9pS1no1t3/vKWZ+1oEJn2zDja/vw42v78Ppe73ND3ebzM1vJp9I0jzvQort8seseTWsbw41kbocADxkZpVm9inwMqHdpC5Pm9laM1sMLKT222IvSZoEtAP+FGM9AGBmHwCzgUwSOYiQPJ4G2kpqA/Q2s2nAEfExEXibkMT65HqCZna7mQ00s4GlapnrxzZQXGL87rYZvPR4Ga89t1WjjtEQC1e1BWDpmja8+N/e7NJl4QbvP/1BHw7bcUbi5Uj7vAsh9pIFpXTeZt2Xrzt1K2fx/NLU4udLoZ13c6qJbA5JZCqwZxMeb23W80pqr80NMbMBZnaymS2r43jjgIGEmscrhGTxc9bXngT8KR5rgJntaGZ/36gzaBDj/GtmMWd6Kx67M/neKq1LymlTuu7L5/ttO5fpS8rYtsOyL/c5ZPtZzPws6R/WdM+7UGJPm9SG7r3X0aXnWkpKqxh87DLeHNk+1TLkQyGdd7idVZTToxBsDrezRgFXSTrDzG4HiG0Q7Qm1gDMl3QuUEWoEFwFJdMkYA5wEjIq3sbYFppnZOklzge8DVwCdgWvjA2AEcKWkf5jZSkndCW08C78aountvNcqDjtuKTPfb82wZ0P7xD1Xd2fcS8n8B+vYZg03fOs5AIqLqnjmgz68Nntb/nr0c/TaahlmYt7nW3LliwclEj8j7fMulNhVlWLYJd256sEZFBXDyIfLmP1hej2ULh42i/6DVtK+rIIHxk/l/mu7MuLhjonHzfd5V+cj1guImZmk7wI3SPoN8AUwCzgPeBUYBLxD6Fn3azNbELvMNrWbgVskTSa0fZxqZplazRjgUDNbI2kM0CNuw8xGSvo68EboaMZK4MeEW2mJmzquLUdt25QVubp9vKIdx//jB1/ZfsHTR6VWBkj/vAslNsC4Ue0YN6pdXmL/eWivvMSF/J53tubWxVfWzBe0d7lrV1Rm+5YcmZfYn1yQXm+q6rr/9a28xc43q6jIX3Dl8YcwT79rY+1FVtjSjTrxzjt1su/ed3RO+96x130TzGxgbe9LuovQuWdhZhyZpDLgEaAX4YL6B2b2WRwO8Tfgm8BqwoXu2/WVoTBuqjnnnAMyvbOKcnrk4B6gejX+YuBFM+sDvBhfA3yD0GmnD6FH5y25BPAk4pxzBaapGtbjUICl1TYfC9wbn98LfCdr+30WvAl0kNStvhibfJuIc841J5nBhgnqYmbz4/MFrB+m0B2Ym7Xfx3HbfOrgScQ55wpMVe69szpJGp/1+vZML9RcxI5HG9WA5EnEOecKSAN7Zy2uq2G9Fp9K6mZm8+PtqkxPz0+Anln79Yjb6uRtIs45V0hMVFQV5/RopCeBU+LzU4AnsrafHOcU3BdYnnXbq1ZeE3HOuQJiNOh2Vp0kPQQMJtz2+hj4A/BnYLik0wnTL2UGZj1D6N47ndDF97RcYngScc65AtNUDetm9sNa3jq0hn2NMFFsg3gScc65AtLcRqx7EtmMSEWoRYv6d0zANte8kZe4ANrt63mLbVNqXDzTuTp5EnHOOdcoKYwTaVKeRJxzrpAYVBTINO+58CTinHMFxNtEnHPObRRPIs455xrF20Scc85tFPMk4pxzrrGaasR6GjyJOOdcATGDyirvneWcc65RvE3EOefcRvA2Eeecc43i40TcJqmoyPi/f7/L4gUtuOyMdOaiuuC6Oexz2AqWLS7hzEP7JR7v/PPeZO+957FsWSvO/sU3Aejd+zPOPWccrVpXsPDTLbj66v1YvaY00XJ06raOi66fSYfOFWDwzIOdeOKuLvV/sIkMHLyCs66cR3GR8exDZQy/Kb3Yaf+dZ8vneW/AQrtIc5H31htJlZImSZoq6R1J/yOpycslabSkr6wAJulUSTfVsn1RLNsHks5v6jJVi3dg/A4mSWpdx34ra9l+j6TjkyrfsafOZ870WouViJHDy7jkpO1Ti/f8C9tz6e8Gb7DtvF+9xd13D+AXv/gmr7/eg+OOfz/xclRVijv+2JMzD92Z847tx7dOXsS2fdYkHhfCxcLQqz7h0pN68/PBfRly7DK27fNFKrEh/b/zjHyfdzYDKq0op0chKIRSrDGzAWa2M3A48A3CwimF4BEzGwDsD1wiqWc9+2+Mk4A/xe8inV+MHHXqupa9B3/GiOHpXplNGduWz5c1evW2hsebsjWff77hLMfdu3/O5CmdAXh7YlcO2H9u4uVYurCU6VPaALBmVTFzp7eiY9fyxOMC9N19NfNmtWDBnJZUlBcx+okODDpyeSqxIf2/84x8n/eGQsN6Lo9CUAhJ5EtmthA4AzgnLtHYStLdkiZLmihpCHxZS3hM0nOSPpJ0deYYkm6RND5e1V9eUxxJp0n6UNJbhARRX7mWEFb76iapl6QpWce6UNJl8floSdfH+O9L2iuW8yNJf4z7bCHp6VjrmiLpBEk/I6wudqWkf8T9LpI0TtK7NZ1H/H5ukjRN0gvA1jl+zQ125qWz+PtftqOqGVWxm8rs2e0ZNCgsM33ggXPp1Gl1qvG79FjLDjuvZtrELVKJ17FrOYvmrU+ki+eX0qlbOgksnwrtvM1yexSCgmsTMbMZkooJP4o/DptsV0n9gJGSvhZ3HQDsDqwFpkm60czmApeY2dJ4jBcl9TezdzPHjwvTXw7sCSwHXgIm1lUmSdsCrYB3ga71nMI6Mxso6VeEtYv3BJYC/5V0PWGpynlmdnQ8dnszWy7pAOApM/unpCOAPsDegIAnJR1kZq9kxfku0BfYCegCvAfcVUPZzyAkZlqp4T9Eew/5jGVLSpk+tS277pOvK7P8uf6GfTj7rAn88MQpvDm2OxUV6V13tWpTyaW3zeC2y3uyemX6V+cuf7x3VtM5ALgRwMw+kDQbyCSRF81sOYCk94DtgLnAD+IPZwnQjfAj+27WMfcBRpvZovjZR7KOWd0Jkg4C+gHnmNkXUr1/uU/GPycDUzML3UuaAfSM26+T9BdC0hhTwzGOiI9McmtLSCrZSeQg4CEzqwTmSRpVU2HM7HbgdoD2xZ0afO2y054r2PfQz9jr4LcpbVlFm7aVXHTdR1zzP30aeqhm6eOP23HJpUMA6N59BXvvNS+VuMUlxu9um8FLj5fx2nNbpRITYMmCUjpvs+7L1526lbN4frIdCQpBIZ13qGU0nyRSULezACRtD1QCC+vZdW3W80qgRFJv4ELgUDPrDzxNqEE01iPxOPsBf5bUFahgw++t+vEz5aqqVsYqoMTMPgT2ICSTP0r6fQ1xxfr2kQFmtqOZ/X0jzqPR7rl2O35ywJ6cOngP/nxeH955o91mk0AA2rcPjauSceKJU3nmmR1TiGqcf80s5kxvxWN3ptsONW1SG7r3XkeXnmspKa1i8LHLeHNk+1TLkA+Fdt7NqU2koGoikjoDtwI3mZlJGkNocB4Vb2NtC0wj/AjXpB2wClguqQuhkX50tX3GAn+T1BFYAXwfeKeucpnZeEn3A78Cfg9sHT+/EjgGeK4B57gNsNTMHpC0DPhZDbuNILaPmNlKSd2B8thmlPEKcKakewm3/oYAD+Zajubg4mGz6D9oJe3LKnhg/FTuv7YrIx7umFi83/z6Nfr3X0i7dmu5/75/c/8Du9K6dQXHHPMRAK+/1oORzyffc2jnvVZx2HFLmfl+a4Y9+x4A91zdnXEvJf+jVlUphl3SnasenEFRMYx8uIzZH27MdVjDpP13npHv8/5KeaoKI0HkohCSSGtJk4BSwlX+/cBf43s3A7dImhzfO9XM1tZ2S8nM3pE0EfiAcGvrtRr2mR8bwt8AlgGTciznX4C3gauAK4C3gE9irIbYFbhGUhVQDpxdQxlHSvo68EY815WE9qHsJPI4cAihLWROPJ9ETR7bnslj07s6+/PQXqnFAvjL1TX3sXjiib6plmPquLYcte2eqcbMNm5UO8aNapeX2Gn/nWfL53lnM9SsbmfJCqWJ3yWufXEn27f10XmJXbUmf72Wi3ZLZ3BkTWzKh3mLDWAVFfkLXn/7YXLy9Ls21l5khS3dqBNvtWN32+7qM3Pa98Pj/jDBzL4y/i1NhVATcc45l+EN68455zaK5fjIgaTz47i5KZIeiuPveksaK2m6pEcktaj/SDXzJOKccwXGTDk96hM75fwSGGhmuwDFwImENt7rzWxH4DPg9MaWtdbbWZJupI5cZ2a/bGxQ55xzNTOavHdWCaEDUznQBphP6JTzo/j+vcBlwC2NPXhtxjfmgM455zaCAbm3iXSSlP1bfXscYBwOZfaJpGsJPTjXACOBCcAyM8v0uvgY6N7Y4taaRMzs3uzXktqYWboTBznn3GaoAZ3LFtfVO0vSVsCxQG/CkIZHgaM2sngbqLdNRNKgOK3IB/H1bpJubspCOOecy9J0DeuHATPNbJGZlQOPESad7SApU4noQRjz1ii5NKzfABwJLIEwoI8wb5Nzzrkml1ujeo7dgOcA+0pqozBy+VDCAOWXgMz6Q6cQJottlJx6Z8XZcbNVNjagc865OhhYlXJ61Hsos7HAPwmzbUwm/ObfDvwGuEDSdKAj0Oi5+XIZbDhX0n6ASSolzB+V/PJursmZVWHr1tW/YwKKO3XKS1yAyknv5S32iHmT8hYb4Mjuu+cveD5nw8jXaPmmOuUm/OrM7A98daG/GYSlJjZaLjWRs4ChhNb7eYR1PIY2RXDnnHM1UY6P/Ku3JmJmiwkz6TrnnEtDM5rSMJfeWdtL+o+kRZIWSnoirvnhnHMuCU047UnScrmd9SAwnLBK4DaEfsYPJVko55zbbGUGG+byKAC5JJE2Zna/mVXExwNs3GqBzjnn6mBVuT0KQV1zZ5XFp89Kuhh4mJAjTwCeSaFszjm3eSqQWkYu6mpYn0BIGpmzyV4lxYDfJlUo55zbnKlA2jtyUdfcWb3TLIhzzjkKqtE8FzmtbChpF2AnstpCzOy+pArlnHObr8JpNM9FvUlE0h+AwYQk8gzwDeBVwJOIc84loRnVRHLpnXU8YdKuBWZ2GrAb0D7RUjnn3OasKsdHAcjldtYaM6uSVCGpHbAQ6JlwuVyB6NRtHRddP5MOnSvA4JkHO/HEXV1Si/+dH8/myO/NwwxmfdSW63+/E+XrilOJPXDwCs66ch7FRcazD5Ux/KamPe/rzu/J2Bfa0aFTBbe/NA2Ae6/uyhsj2iNBh07lXHjDHDp2rfjyM9Mmtea8b32N/3fLLA48ZnmTlifjguvmsM9hK1i2uIQzD+2XSIzaJP2d1yWf572Bhi1KlXe51ETGS+oA3EHosfU28EaShcqQ1EXSg5JmSJog6Q1J300jdj3l6iBpSZxaObPmiknqEV+3l7RUUlG1z10m6RNJkyR9IOmW6vvkGL+XpClNczZ1q6oUd/yxJ2ceujPnHduPb528iG37rEkjNB23/oJv/2guv/rh3vziuEEUFxkHH/VpKrGLioyhV33CpSf15ueD+zLk2GVs2+eLJo1xxAlL+d9/zNhg2/FnL+TWF6dxywvT2OewFTxwfdcv36ushL//7zbsefDnTVqO6kYOL+OSk9KflCKN77wu+TrvmshyexSCen/AzOwXZrbMzG4FDgdOibe1EhV/oP8NvGJm25vZnoQF5ns0wbFz6lBQGzNbRlin+Otx037AxPgnwL7AW2Y1Dge63swGENqYdgUO3piyJG3pwlKmT2kDwJpVxcyd3oqOXctTi19cbLRoWUVRcRUtW1exZFHLVOL23X0182a1YMGcllSUFzH6iQ4MOrJpr/x33XcVW2614aoKW2y5/p/MF2uKNpiM9om7OnPAN5fToVMFSZoyti2fL0untpctje+8Lvk67xptCtOeSNqj+gMoA0ri86QdAqyLyQsAM5ttZjfG8hVLukbSOEnvSjozblfcPkXSZEknxO2DJY2R9CTwnqQiSTfHGsHzkp6RdHzcd09JL8fazwhJ3Woo3+usTxr7AddXe/1aPefXgtDb7bMYc7SkgfF5J0mz4vOdJb0Vay/vSuoTP18s6Q5JUyWNlNQ61y+2sbr0WMsOO69m2sQtkg4FwJKFrXjs3u24d8Sr/OOFMaz6vISJb3RMJXbHruUsmtfiy9eL55fSqVs6yfPuP3flpD13YtRjW3HyRfO/jP/6s+055pTFqZQhH/L5nbvGq6smcl0dj2uTLxo7E26d1eZ0YLmZ7QXsBfxcUm/ge4Tp6ncjLA15TVYS2AP4lZl9Le7Xi1Aj+AkwCCCumXIjcHys/dwF/G8N8V9jfdLYnjCnWGat4/0ISaYm50uaRKjJfGhmk+o4RwhT8f8t1l4GAh/H7X2AYWa2M2Ht5ONq+rCkMySNlzS+3NbWE6p2rdpUcultM7jt8p6sXpnO1VrbLcvZd8giTvvm/vz48ANp1bqSIUfPTyV2Pp128QL+MeE9DvneZzx5V2cAbv1Dd06/ZB5FDb756ZojVSmnRyGoa7DhkDQLUh9Jw4ADCLWTvYAjgP6Z2gOhx1ifuM9DZlYJfCrpZUKSWUG4xTQz7n8A8Gi85bRA0ktxe19gF+D52ORRTPjBr+514Lcxcc0ysy9iLagtsCcwtpZTud7Mro3J6p+STjSzh+s49TeAS2J7y2Nm9lEs18ysBDSBkBC/wsxuJ6xkRruiskZVgItLjN/dNoOXHi/jtee2aswhGmXAvktZ8ElrVnwWrk5fe7EzX99tOS89XVPFsGktWVBK523WL+DVqVs5i+eXJh432yHf/YxLf7I9J1+0gA/fac2fzu4FwPKlxbz14pYUF8N+30jvdk/SCuE7LwgFdKsqF4V8XTOVUHMAwMyGEroad46bBJxrZgPio7eZjaznmKtyiCtgatZxdzWzI6rvZGYfAR2Ab7G+o8EE4DRCUllZVxAzKweeY/169RWs//vIHtT5IPBtYA3wjKRD4lvZ1YpKchw42nDG+dfMYs70Vjx2Z3o9ZQAWLWhFv/7LadmqEjAG7PMZc2e2SSX2tElt6N57HV16rqWktIrBxy7jzZHJ92z/ZMb62zlvjGhPzx3DX/N9Y9/nvrfe47633uPAY5Zz7p8+3qQSCOTvOy9IzahNJKEfniYxCrhK0tlmdkvclv0LMgI4W9IoMyuX9DXgE2AMcKakewltOAcBFwHV++y9BpwS9+tMGFD5IDAN6CxpkJm9EWsMXzOzqTWU8U3CcsGnxtdvAH8khwkqY8eB/QkN8gCzCDWYtwhjczL7bQ/MMLP/k7Qt0J+wtGUqdt5rFYcdt5SZ77dm2LNhmdl7ru7OuJeS/889bXJ7Xn1+a/7v4bFUVooZH2zJs//c6H4VOamqFMMu6c5VD86gqBhGPlzG7A+bdvLqP529He++0ZblS0s4ac+d+Mn/LOCtUe34+L8tKSqCrbuv45d/+bj+AzWxi4fNov+glbQvq+CB8VO5/9qujHg4+baoNL7zuuTrvGtSKD2vciHL5zrI9YhtGdcD+wCLCDWJW83skdg19o+EmoDi+98h3La6mjCy3oA/xv0HAxea2THx2EXAzYTkMTce4y9m9rykAcD/EW6RlQA3mNkdNZTvIkJ7SXszWyOpFzAT+JGZfWXNFUmXAT+PZS0F3gV+Gj/bj7BuSyXwNPBjM+sVZ1D+CVAOLAB+BLQDnjKzXeJxLwTamtlldX2f7YrKbN+SI+vaJTFFW6V3G6y6ykWL8hbb11jPkzytsT626gVW2NKNCt6yZ0/rcd75Oe0748L/mWBmA+vfMzn1JpF4xXwSsL2ZXRGvhrua2VtpFDBJktqa2UpJHQk1gP3NbEG+y5UUTyLp8ySSJ809ifwqxyRyUf6TSC63s24mDLA/BLgC+Bz4F6Gxurl7Kg6kbAFcuSknEOdc8yCjYHpe5SKXJLKPme0haSKAmX0mqUV9H2oOzGxwvsvgnHNfUbitDF+RS++scknFxNOS1JmCmfrLOec2PU057UmcpumfcWD1+3GaprI4yPqj+Gej7zfnkkT+D3gc2FrS/xKmgb+qsQGdc87Vo2m7+P4NeM7M+hEGYb8PXAy8aGZ9gBfj60ap93aWmf1D0gTCGA0B3zGz9xsb0DnnXB2acHJFSe0JwxxOBTCzdcA6SccSeqYC3AuMBn7TmBi5LEq1LbAa+E/2NjOb05iAzjnn6tF0DQa9CUMK7pa0G2FA9K+ALmaWmYljAdDokcS5NKw/Tag4iTCSujdhQN7OjQ3qnHOudg2oiXSSND7r9e1xqqOMEsLMH+ea2VhJf6ParSszM6nxdZ9cbmftmv06zuD7i8YGdM4512QW1zNO5GPgYzPLzOX3T0IS+VRSNzObHwd1L2xsARo8d5aZvU0YQe6ccy4JTdSwHse+zZXUN246FHgPeBI4JW47BXiisUXNpU3kgqyXRYSq0bzGBnTOOVeHpl+18FzgH3F83wzCJLFFwHBJpwOzgR809uC5tIlsmfW8gtBG8q/GBnR5ZGAVya6KV5uqzz7LS9x8O6p3fivtRbvtkLfYVZPey1vsZq8Jk0hcMqKmW16HNsXx60wicZDhlmZ2YVMEc845VzcBakbDuWtNIpJKzKxC0v5pFsg55zZ7zWjak7pqIm8R2j8mxXXJHyVrUSczeyzhsjnn3Oan6dtEEpVLm0grYAlhFt/MeBEDPIk451wSNpEksnXsmTWF9ckjoxmdonPONTPN6Be2riRSDLRlw+SR0YxO0TnnmpdN5XbWfDO7IrWSOOecC5fom0LvLGqugTjnnEvYplITaZKBKM455xpoU0giZrY0zYI455wLNpWaiHMADBy8grOunEdxkfHsQ2UMv6nRSw80SKdu67jo+pl06FwBBs882Ikn7konNuTvvEtbVHHt8PcpbVFFcTGMeXYrHrihR2Lxzj/vTfbeex7LlrXi7F98E4DevT/j3HPG0ap1BQs/3YKrr96P1WtKEytDRr6+c4ALrpvDPoetYNniEs48tF9qcWvUjJJIg2fxzZWkLpIelDRD0gRJb0j6bgOPMVjSU01Ypl6SptSwvUjS/0maImmypHGSetdxnMskJT4VTFpx6lJUZAy96hMuPak3Px/clyHHLmPbPl+kEruqUtzxx56ceejOnHdsP7518iK27bMmldj5PO/ydeI3P+rHL765K784emcGHrycfgNWJhbv+Re259LfDd5g23m/eou77x7AL37xTV5/vQfHHZ/8Yqb5/M4BRg4v45KTtk8tXm1yXV+9UGoriSQRSQL+DbxiZtub2Z7AiUDOl1OSNrqW1IBjnABsA/SP66d8F1i2kbElKbEkXUvMJq9Z9t19NfNmtWDBnJZUlBcx+okODDpyeVOHqdHShaVMn9IGgDWripk7vRUdu5anEjuf5w3ii9XFAJSUGCUlluiF6ZQpW/P55y022Na9++dMntIZgLcnduWA/ecmWIIgv985TBnbls+XFacWr05Nu8Z6opL6kTsEWGdmt2Y2mNlsM7sRwsSOkq6JV/zvSjozbh8saUycZiUzBWhbSf+U9IGkf8QEhaTfx89PkXR71vbRkm6Iq339StKekt6R9A4wtJbydiN0aa6KZf3YzD6LxztK0tvxGC9mfWanGGuGpF/GfXtJmibpPsIgzZ7xPDM1nBMyH5Z0Udb5X561/RJJH0p6FeibtX0HSc/FWt0YSf3i9nsk3SppLHB1w/6a6texazmL5q3/gVk8v5RO3dL5Ic/Wpcdadth5NdMmbpFKvHyfd1GRMezpKTw8fiJvv9qeaZPaphYbYPbs9gwa9AkABx44l06dViceM9/feSFpTjWRpNpEdgberuP904HlZraXpJbAa5JGxvf2AHYxs5mSBgO7x+PNA14D9gdeBW7KjGORdD9wDOvXgW+RWe1L0rvAOWb2iqRrainPcOBVSQcCLwIPmNlESZ2BO4CDYnnKsj7TDxhCmCp/mqRb4vY+wClm9qak44ABwG5AJ2CcpFeAXeN+exO6Uj8p6SDC3GQnxs+UxO9wQjzu7cBZZvaRpH2AmwnJGkINbz8zq6z9K2++WrWp5NLbZnDb5T1ZvbJArhQTVlUlhh69C1tsWcHvb/uI7b62mtkftkkt/vU37MPZZ03ghydO4c2x3amoSLVS7QokQeQilYZ1ScOAAwi1k72AI4D+ko6Pu7Qn/KiuA94ys5lZH3/LzD6Ox5kE9CIkkSGSfg20AcqAqaxPIo/E/TsAHczslbj9fuAb1ctnZh/Hlb8OiY8XJX0/HvuVTHmq9Vh72szWAmslLWT9QvezzezN+PwA4KH44/6ppJeBvYCD4ncwMe7XNp7/lsDjZrY6lv/J+GdbYD/g0VjhAmiZVZZHa0sgks4AzgBoRcN/hJYsKKXzNuu+fN2pWzmL5yffwJpRXGL87rYZvPR4Ga89t1VqcfN93hmrPi/hnTfaMfDg5akmkY8/bscllw4BoHv3Fey9V/Lr0BXKd14QmlESSeryYiqhRgGAmQ0ljDvpHDeJsHD8gPjobWaZmsiqDQ/F2qznlUCJpFaEK/HjYxvGHYSJIjOqH6NeZrbWzJ41s4uAq4Dv1PORr5SrAbEF/Cnr/Hc0s7/XsX8RsCxr/wFm9vWs92uNaWa3m9lAMxtYukHeyc20SW3o3nsdXXqupaS0isHHLuPNke0bfJzGMc6/ZhZzprfisTvT66UD+T3v9mXlbLFlWDysRcsq9jhwOXP/26qeTzVxGdqHBm3JOPHEqTzzzI6Jx8zvv7UC0swa1pOqiYwCrpJ0tpllbvNkX0aNAM6WNMrMyiV9DfikAcfP/I9aHK/SjycsQL8BM1smaZmkA8zsVeCkmg4maQ9ggZnNi43h/YF3gTeBmyX1ztzOauD4mTHAmZLuJdSWDgIuAr4ArpT0DzNbKak7UA68Atwj6U+Ev5tvAbeZ2QpJMyV938weje0//c3snQaUpVGqKsWwS7pz1YMzKCqGkQ+XMfvDdH7Qdt5rFYcdt5SZ77dm2LOhieyeq7sz7qXkf1jyed5lW5fzP9fOoLjYkOCVp8t4a1RytbDf/Po1+vdfSLt2a7n/vn9z/wO70rp1Bccc8xEAr7/Wg5HPJ99rKZ/fOcDFw2bRf9BK2pdV8MD4qdx/bVdGPNwxtfjZNolFqTaGmZmk7wDXx1tOiwhXy7+Ju9xJuC31dvxBXET9V/7Zx18m6Q5C4/UCYFwdu58G3CXJgJG17LM1cEdsn4GwlspNZvZFvB30WEwuC4HDcy0n8DgwCHiHUEH9tZktABZI+jrwRrw9tRL4sZm9LemRuP/Caud1EnCLpEuBUuDhuF/ixo1qx7hR7dIItYGp49py1LZ7ph43I1/nPfODNpxzzC6pxfvL1TWvO/fEE31r3J6kfH3nAH8e2isvcWtUILWMXMisGZXWbZR2KrN9lJ/ZbFSSv3Gt+VpXHkAtG34LsUnjf30zXWN9fdthqsZWvcAKW7pRwdts3dP6HXdBTvtOvPWCCZlORPniI9adc66QFNAYkFx4EnHOuULjScQ551xjiMLpeZULTyLOOVdgVNV8sogPQ3XOuUKS67xZOeaZOM3URMXJbCX1ljRW0nRJj0hqUd8x6uJJxDnnCkwTDzb8FZA9DfNfgOvNbEfgM8I0VI3mScQ55wpNE9VEJPUAjiaMzcvMsH4I6wdn30sDxujVxNtEnHOuwDSgltEpzliecbuZ3Z71+gbg14R5+QA6EqZQygye+hjo3viSehJxzrnCYg2a9mRxbYMNJR0DLDSzCXFG9ER4EnHOuULTNJ2z9ge+LembhPkG2wF/AzpIKom1kR40bN7Cr/Ak4tJRnMd1QPI47YmtW1f/TknGz+PUIyXdt8lb7Ip58/MWe2M11TgRM/st8FsIC/4BF5rZSZIeJUxa+zBwCvDExsTxhnXnnCs0Zrk9Guc3wAWSphPaSOpahqJeXhNxzrkC09Qj1s1sNDA6Pp9BWFW1SXgScc65QuITMDrnnNsYqnGx68LkScQ55wqMT8DonHOucYyNaTRPnScR55wrMF4Tcc4513ieRJxzzjWGL0rlnHOu8cya1aJUnkRcvQYOXsFZV86juMh49qEyht/UJZW4pS2quHb4+5S2qKK4GMY8uxUP3NAjldiQv/O+4Lo57HPYCpYtLuHMQ/ulEjNbmuf9q9+9y94HLGLZZy0YeuKBALRtt46Lr5rE1t3WsHB+a/78291Z+XlpYmXIyPf3voHmk0M2rWlPJK2s9vpUSTelEPdCSR9ImiRpnKST4/ZZkjolHT9JRUXG0Ks+4dKTevPzwX0Zcuwytu3zRSqxy9eJ3/yoH7/45q784uidGXjwcvoNWFn/B5tAPs975PAyLjlp+1RiVZf2eb/wVA9+/8sNJ6H9/ikzeGdcR8447mDeGdeR75/y38TiZ8vn915dEy9KlahNKonkg6SzgMOBvc1sAHAo4bbmJqHv7quZN6sFC+a0pKK8iNFPdGDQkctTii6+WB0mbiwpMUpKLLULtHye95Sxbfl8WX4mrEz7vKdOLOPzFRvWMvY9eCEvPBWWuHjhqe7sO3hhYvGz5fN734ABVZbbowBsNklE0j2Sjs96vTL+WSTp5liTeF7SM5n9JB0a1yaeLOkuSS1rOPT/A842sxUAZrbCzO7Nev9cSW/HY/SLx91b0hvx2K9L6hu3vylp56wyjpY0UNIWMf5b8TPHxvfvjLWfSZIWSfpDE39tdOxazqJ565dgXjy/lE7dyps6TK2KioxhT0/h4fETefvV9kyb1DaVuPk+73wphPPuULaWz5a0AuCzJS3pULY21fgFoQnXWE/appZEWmf9qE4CrsjhM98DegE7AT8BBgFIagXcA5xgZrsS2o/Ozv6gpHbAlnFCs9osNrM9gFuAC+O2D4ADzWx34PfAVXH7I8AP4rG7Ad3MbDxwCTDKzPYGhgDXSNrCzH4Waz/HAotjeTcpVVVi6NG78ONBA+i720q2+9rqfBfJpUoF82OZJlVZTo9CsKklkTVmNiDzIPxA1+cA4FEzqzKzBcBLcXtfYKaZfRhf3wsc1IgyPRb/nEBIVgDtgUclTQGuBzK1j+GEef4hJJPMOshHABfHxDiasMDMtvBlsnsUONfMZlcPLukMSeMljS+n4Vd0SxaU0nmb9WtidOpWzuL5yTdyVrfq8xLeeaMdAw9O55ZSoZx32grhvJctbclWHUM7zFYdv2DZZzXdANi0eZtIYaognq+kIqBF3bvXL97CWimprta4zC93Jet7w10JvGRmuwDfIiQFzOwTYImk/sAJhJoJhDaW47IS5LZm9n5871bgMTN7oZYy3m5mA81sYCkN/884bVIbuvdeR5eeaykprWLwsct4c2T7Bh+nMdqXlbPFlmFBqRYtq9jjwOXM/W+rVGLn87zzqRDOe+wrW3PYMWGxvcOO+YQ3X9461fh5l+utrAJJIptTF99ZwJ6Eq/1vA5nLq9eAUyTdC3QGBgMPAtOAXpJ2NLPphFtdL9dw3D8BwySdYGYrJLUFvmdm99VRlvasX5Ly1GrvPQL8GmhvZu/GbSMIbSvnmplJ2t3MJkoaSrid9ufcvoKGq6oUwy7pzlUPzqCoGEY+XMbsD9P5IS/bupz/uXYGxcWGBK88XcZbo7ZKJXY+z/viYbPoP2gl7csqeGD8VO6/tisjHu6YSuy0z/vXf5zErnsupV2Hddz71Cj+cXsfHr13ey7+0yQO//bHLFrQmj/9dkBi8bPl83vPFgYbFkiGyIGsGRW2PpJWmlnbrNenAgPN7BxJXQjLQLYGngOGmlnbWCu5mZA85hL+Dv9iZs9LOhS4lpBsxxEa0NdWiyngIuB0oDw+rjOzByTNivEXSxoIXGtmgyUNItweWwU8DfzYzHrF43UhJJgrzezyuK01cAOwH6E2NdPMjpE0M8bLNBTcama31vb9tFOZ7aNDG/SdNhW1zN8tCVubx4ZZ5bmjXh7/f2+Oy+OOrXqBFbZ0o/7S27XrYQP3OienfV8a9dsJZjaw/j2Ts0klkcaS1NbMVkrqCLwF7B/bRzYpnkTywJNIXjT3JLLXwKE57Tvqpf+X9ySyOd3OqstTkjoQ2kmu3BQTiHOumbDCGQOSC08igJkNzncZnHMuo1B6XuXCk4hzzhWaZtTM4EnEOecKiYGq8l2I3HkScc65QtOMaiKb02BD55xrHpposKGknpJekvSepKmSfhW3l8W5Aj+KfzZ6AJYnEeecKzCqqsrpkYMK4H/MbCdgX2CopJ2Ai4EXzawP8GJ83SieRJxzrpAYUJXjo75Dmc03s7fj88+B94HuhElbM7ON3wt8p7HF9TYR55wrIMISmfZEUi9gd2As0MXMMiMyFwCNXr7Sk4hzzhWa3JNIJ0njs17fbma3V98pzun3L+C8OMdfVigzqfEjUzyJuE2eSvL3z9wqK/MWG8jrtCsVn8zLW+x1R+ZnJhB7/fUmOlDOv+mL65v2RFIpIYH8w8wyS1N8Kqmbmc2Paxc1evlIbxNxzrlCYqBKy+lRnzhB7N+B983sr1lvPQmcEp+fQpictlG8JuKcc4Wm6dpE9icsYzE5LmoHYUnvPwPDJZ0OzCauqNoYnkScc66gWJMlETN7lbC8RU2aZEpvTyLOOVdIjGY1Yt2TiHPOFRqfO8s551xjNaflcT2JOOdcITGgsvlURTyJOOdcQWm6hvU0eBJxzrlC40nEOedco3kScZuSgYNXcNaV8yguMp59qIzhNzV6rrYGKW1RxbXD36e0RRXFxTDm2a144IYeqcTu1G0dF10/kw6dK8DgmQc78cRd6Zz3BdfNYZ/DVrBscQlnHtovlZiFEj/Nf2udy1by25+9wlbt1gDw1Mt9+dfzu7BDzyWcf/JrtG5VwYLFbfnf2waz+osWiZXjKwyo8iTSLEnqSJhbH6ArUAksiq/3NrN1TRTnVOAa4BOglDA988lmtlrSZcBKM7u2js+fBaw2s/uaojx1KSoyhl71Cb89cXsWzy/lxmc+4s0R7ZnzUaukQ1O+TvzmR/34YnUxxSVVXPfo+4wf3YEPJrVNPHZVpbjjjz2ZPqUNrbeo5Man32fimHbM+ah14rFHDi/jybs7cdHf5iQeq5Dip/1vrbKyiFse2ZuPZneidat13PaHJxg/tTsXnvYqtz6yN+9M68Y3DvyQE74xmbsf3zORMtTMoCrPc641gM+dlcXMlpjZADMbANwKXJ953VQJJMsj8bg7A+uAExpQzltrSiCSmvyioO/uq5k3qwUL5rSkoryI0U90YNCRy5s6TC3EF6uLASgpMUpKLJfF3JrE0oWlTJ/SBoA1q4qZO70VHbuWpxJ7yti2fL6sOJVYhRQ/7X9rS5e34aPZnQBY80UL5szvQKcOq+nRZTnvTOsKwPip23DQnrMSK0ONMjWRXB4FwJNIPSQdKmmipMmS7pLUMm6fJelySW/H9/pJKorLTXaO+xRJmp55XcvxS4AtgM9qeO/nksZJekfSvyS1idsvk3RhfD5a0g1xOuhfNfX5d+xazqJ566vyi+eX0qlbOj+mEK5Ohz09hYfHT+TtV9szLYVaSHVdeqxlh51XM23iFqnH3pzk899al46fs+O2S3h/RmdmzduK/XefDcDggTPZumxVKmXYgFlujwLgSaRurYB7gBPMbFfC7b+zs95fbGZ7ALcAF5pZFfAAcFJ8/zDgHTNbxFedECdE+wQoA/5Twz6PmdleZrYb4ZbX6bWUs4WZDTSz6xp0ds1AVZUYevQu/HjQAPrutpLtvrY61fit2lRy6W0zuO3ynqxemb/agUtOq5blXHHOiwx7aF9Wf9GCq/9+IMce8j63/eHftG5dTnllHn4mPYlsMoqBmWb2YXx9L3BQ1vuZufknAL3i87uAk+PznwJ313LsR+Jts67AZOCiGvbZRdIYSZMJiWnn2o5V2wlIOkPSeEnjy1lb2261WrKglM7brL+T16lbOYvnlzb4OBtr1eclvPNGOwYenNatNCguMX532wxeeryM157bKrW4m6t8/FsrLq7iinNe5IU3dmDMhF4AzF3QgV9f9w3OvPw7jHpzB+Yt3DLRMnxVjgnEk8gmIfOrXEnspGBmcwkLvhwC7A08W9cBzMwItZCDanj7HuCcWAu6nFAzqkmt9W0zuz3WUgaW0rKuotRo2qQ2dO+9ji4911JSWsXgY5fx5sj2DT5OY7QvK2eLLSsAaNGyij0OXM7c/ybfoB8Y518ziznTW/HYnen0ytrcpf9vzfj1aWOYPa8Dj47c9cutHbYMvbUk4yffmsR/Rn89wTLUWCyoqsrtUQC8d1bdKoFeknY0s+mEeflfzuFzdxJua91vZrl0szgA+G8N27cE5seVyU4i3PpKVVWlGHZJd656cAZFxTDy4TJmf5jOD3nZ1uX8z7UzKC42JHjl6TLeGpVOjWDnvVZx2HFLmfl+a4Y9+x4A91zdnXEvJZ9ALx42i/6DVtK+rIIHxk/l/mu7MuLhjonHzXf8tP+t7dLnU47Yfzr/nbsVd1z+OAB3/msgPbos59hD3gdgzIRePDumT2JlqFWBJIhceBKp2xfAacCjsQF8HKHXVn2eJNzGqu1WFoQ2kQMItcGPgVNr2Od3wFhCN+OxhKSSunGj2jFuVLvU4878oA3nHLNL6nEBpo5ry1Hbptmtc70/D+2Vl7iFED/Nf2tTPurKkNO+2sw4lp786/n8/LsLCqfnVS48idTCzC7Lerl7De/3yno+Hhic9fZuhAb1D2o59j2EW1V1xjWzWwiN9nXtM7j6+865Zswg9NFpHjyJNDFJFxN6cJ1U377OOVejZlQT8Yb1JmZmfzaz7eKylM4513DNqHeW10Scc66QmHnDunPOucazyuYzd5YnEeecKyiFc6sqF55EnHOukPhU8M455zZKM+ri672znHOugBhgVZbTIxeSjpI0Lc4ofnFTl9drIs45V0jMmqxhXVIxMAw4nDAzxjhJT5rZe00SAK+JOOdc4bGq3B712xuYbmYz4sJ6DwPHNmVRZc2oF4DbOJIWAbMb+fFOwOImLI7HLvz4HrvhtjOzWhehy4Wk52IZctGKMMdfxu1mdnvWsY4HjjKzn8XXPwH2MbNzNqaM2fx21mZkY/5xSxpvZgObsjweu7Dje+z8MLOj8hW7Mfx2lnPObbo+AXpmve5BEy8p4UnEOec2XeOAPpJ6S2oBnEhYqqLJ+O0sl6vb69/FY29i8T12M2dmFZLOAUYQlvu+y8ymNmUMb1h3zjnXaH47yznnXKN5EnHOOddonkScc0gqlnRtvsuRtnje5+e7HM2Zt4m4WsUpE7qQ1QHDzOYkGG8yYeqgr7wVQlv/BGN/r673zeyxpGJXK0dL4DigFxt+71ekEPtNM9s36Ti1xP4dcI+Zzc3adkb2wLkEY79lZnsnHWdT5UnE1UjSucAfgE+BzPwKSf+Qb1fX+2bW2NH2ucS+Oz7dGtgPGBVfDwFeN7NjkopdrRzPAcuBCcCXEyiZ2XUpxL4F6A48CqzKip14ApW0EFgEnGNmL8Vtb5vZHinEvh4oBR5hw/N+O+nYmwJPIq5GkqYTpkdYku+ypEnSSOAUM5sfX3cjXCEfmVL8KWa2Sxqxaoh9dw2bzcx+mkLsiYQ5nR4F/mlm10iaaGa7pxD7pRo2m5kdknTsTYGPE3G1mUu4Ik6NpM9ZfztL8U9j/e2sdikUo2cmgUSfAtumEDfjdUm7mtnkFGMCYGanpR2zWvw5kg4GbpH0KNA6pbhD0oizqfIk4mozAxgt6WlgbWajmf01qYBmtmVSx26AFyWNAB6Kr08AXkg6aFZ7UAlwmqQZhO898fagrDJ8DbgF6GJmu0jqD3zbzP6YdGxgPICZfUE4/6HAnkkGlPRjM3tA0gU1vZ/kv/VNiScRV5s58dEiPlIl6QCgj5ndLakTsKWZzUw6rpmdExvZD4ybbjezx5OOC6TS5lKPO4CLgNsAzOxdSQ8CiScRM/u5pNbAtmY2zcyGEdbBSNIW8c9CuHhptrxNxNVJUlsAM1uZYsw/AAOBvmb2NUnbAI+a2f5plSFfJO0AfGxmayUNBvoD95nZshRijzOzvbLbIiRNMrMBKcT+FnAt0MLMeksaAFxhZt9OOrbbOF4TcTWStAtwP1AWXy8GTm7qeXdq8V1gd+BtADObJynRq8Vq7TEbvEV67TEA/wIGStqRMIfTE8CDwDdTiL04JjGDL9eimF/3R5rMZYQFlEYDmNkkSdunEVhSK+B0YGfC+hzEMiTeoWBT4EnE1eZ24IKs7paDCbc79ksh9jozM0mZH7Mt6vvAxiqQ9hiAqjhp3veAG83sxthzKQ1DCX/v/SR9AswEfpxS7HIzWy4pe1tOS/c1gfuBD4AjgSuAk4D3U4rd7PmIdVebLTIJBMDMRrP+HnLShku6Degg6eeEhu07UoqNpAMknRafd5LUO63YQLmkHwInA0/FbaVpBI5LqB4GdAb6mdkBZjYrjdjAVEk/Aool9ZF0I/B6SrF3NLPfAavM7F7gaGCflGI3e14TcbWZEUcR3x9f/5jQYytxZnatpMOBFUBf4Pdm9nwasbPbY4C7CZ0KHgDSao85DTgL+F8zmxkT2P31fGaj1NY7KVMrSKmX0rnAJYQeaQ8Spi5Po1cYQHn8c1m8jbuAMOjU5cAb1l2NJG0FXA4cQLhHPga43Mw+SyH26cArZvZR0rFqiD2J2B6T1bj8bhpdbPMlJk4IiXMv1i9a9C3gLTNL/JaWpD3yNUJc0s8IbVH9CRcObQkXLrfmozzNjScR9xVxzqwX8jUIS9LlhC62vQjTf7wCjDGzSSnEfsvM9s5MuRHbY95IK4lImkkNDfxmlngjs6RXgKPN7PP4ekvgaTM7KIXYLwFdgX8Cj5jZlKRjuqbht7PcV5hZpaQqSe3NLNVR6zH+HwDiuIGfE8Yu3EBYmS1p1dtjfkqK7TGEW2kZrYDvE3vIpaALsC7r9bq4LXFmNkRSV+AHwG2S2hGSSWK3tGq7jZdVJh9smAOvibgaSXqCcFvneTaclO6XKcS+lNAG0RaYCLxKqIkk1t1UUkszWxufHw4cQejeOyKt9pg6yjbBzBIdvR3jXEL4Ec8MrvwOMNzMrko6drVy7Ar8GjjBzBIb6Jp1G69GZnZ5UrE3JZ5EXI0knVLT9th7JenYbwMVwNPAy4TbSWvr/tTGx4y3r+43s58kGauecmTPWltEqJmcbWa7pRg/M1r/FTNLpXuxpK8Tppg5DlhCmFH3X2a2MI34rvH8dparURrJoo7Ye8TbGfsDhwO3S1poZgckGLZF7GK6n2pYWySN6dCj7CnfK4BZhNpBWtoAK+J0M50l9U5juhngLuBh4Egzm5dCvMwgwxOAz4D/EG6bHgT8F7jSzBanUY7mzmsirkaS+gB/AnZiw1G8aTTw7kK4Gj6YcCU+l3A76/cJxjyAMMjsB6zvnZSRynTo+ba5TTcjaTihe+8WwFbAFEIyOQAYYCmtIdPceRJxNZL0KmFRqusJXT1PA4qS/CHPiv0UoUvxGGCcmZXX85GmjH26mf09rXjVYh8MfBYnPvwB66+Kb076dl6MP4k8dW/Ox0WL4totkkoI85V1zXrvnbRuITZ3PmLd1aa1mb1IuNCYbWaXEUbyJi5eAV5PHGwoKZUR29GKzDxdki6V9JikNBZGGkYYXPd3SQ8APyJcGe9BuNWThnUWripTm24my92EaegrCKtJ3kcY5JmkdQBmVgFUv4VW+dXdXU28TcTVZq2kIuAjSecAnxB6SyUuXpHfR2gPENBT0ilm9koK4X9nZo/G21uHAdcAt5L8NBhDzGyneJ/+E2Dr2NX6NuDdhGNn5LN7c2sze1GSLCyDfJmkCUCSNd8ekv6P8G8s85z4unuCcTcpnkRcbX5FaGT9JXAlcAhQY4+tBPwVOMLMpsGXiyU9RMKLFEWZK9CjCWuJPC0pjek3voCwKJOk2WZWGV+bpFRu5+Vzuhnyc9FyUdbz8dXeq/7a1cKTiKuRmY2LT1cS2kPSVJpJILEsH6Z4S+uTeDV+OPAXSS1J57bv1nHwm7KeE193TiF+xrtAy/j8nRTjpn7Rks8eiJsSb1h3NYpX/xcB25F1sWFmh6QQ+y7CNOCZe+InAcVp9JCS1AY4CphsZh9J6gbsamYjE46b94FvsTH/GsKaHiL0kLvIzP6ZdGzXfHkScTWS9A6hLWACWY2MZjYhhdgtCWtbZMaFjCGlHkox/lZATzZMnnmZHDBN8e/88MwAP0mdCXOoJd5LKZ8XLW7j+O0sV5sKM7slzYCStgb+H7AjMBk41cxWpFyGK4FTCV1rM1dYRri9sqkrqjZCfAnp9eB8lHDRcgcp94yS1NHMlqQZc1PiNRG3AUmZyf5+CSwkzKP0ZQ3AzJYmGPs51s/aewzQ1sxSbY+RNI1w+2pdvTtvYiRdQ5gO/aG46QTgXTP7TQqxU5kfrJbYHwGTCN2MnzX/UWwQTyJuA1lTkauGty3hwV8bDPDKzGeVVLxayvAvwlxVm9WcTQorUPUgrCfy5W1EM3u89k81Sdy8XbRklUGE7tw/JZz/cOAeM/sw6dibAk8irmDEe/KDWZ/AXsp+ndIPykDgCcJAv+wfs28nHHcJMBZ4jbAs7FgzW51kzBrKMNnMdk05Zt4uWmopzxBCh44tCL3TLjazN9IsQ3PjScRtQNJewFwzWxBfn0yYWXU2cFnCt7NmEXpl5e0HRdJU4DZCm0xVVvCXE47bDtgX2C8+9gRmEpLKa2Y2PMn4sQz3Ajdlde/eLEjqSFj++SfAp8DfCfOnDSDMHdY7f6UrfJ5E3AbiNOyHmdlSSQcRZlY9l/Af6utmdnw+y5c0SePMbK8CKMcWhPE55wG9zSzxBbkkfUDo1DCbsIaMCMk7sbmzJP2Y8Dt0f7XtPwEqzezBpGJnxfqQsI793Wb2cbX3fmNmf0m6DM2ZJxG3gex2iTif06I4bxaSJpnZgDwWL3GS/kq4jfUkG97OSrSLb5wxN1MLySSxCcCbhPVUZicZP5Zhu5q2Jxlb0ljgUDNbWW37FoT1TNJYjEvemN543sXXVVcsqSROSncocEbWe5vDv5fMZIv7Zm1Lo4vvx8DbhIknL85H7zAzmy2pmLAkblp/16XVE0gsy6oUZynoI+lCoBc+RqXBNocfBdcwDwEvS1oMrCEM9EPSjkDq662nzcyG5Cn0/sAg4LvABbF96I34GJ/SVPDnEqb//5T17UFG6PablNaStjCzVdkb40zKiS2NW01mjMqd+Oy9Dea3s9xXSNoX6AaMzPznjiOK26Y1crumK2Izm5NC3BpnjTWzK5KOXa0cvQjruPwK6GFmrer+RJPEnA7sk+bAu1gDOBQ4K3PbLJ77MGC0mV2TQhnyNkZlU+A1EfcVZvZmDdtS6zOfpyvijOwr4laEQY/vpxAXSf1Y3y6yP9CB0CZyaxrxCStIplrbjDMHrwRekZSZtXcl8OcUZ0z4j6RfkIcxKpsCr4m4gpOPK+I6ytISGGFmgxOOs5iwMNIbxLEiZjY9yZhZsTMzBu9MmAL+aTb8Mf1rSuXYMsb7PI14WXFrWkM+9TEqzZXXRFwhSv2KuA5tCCO5k7aDmeXrnLeMf86Jjxak1x7xpbSTR1ZcHweyETyJuEI0AxgtKfUrYkmTWT/xYjFhLY8rk46bxwSSyjTzhSz2AjubsKY9hKnwbzOzVBYDa+48ibgNSPqc9T+imZHjmWkpzMzapVCMfF4RH5P1vILQLtOyln03KZKeB75vZsvi662Ah83syLwWLHm3AKXAzfH1T+K2n+WtRM2It4k4F0nqTuiV9q6ZrYtT059HmJJ+m7wWLgU1DSaVNNHMdq/lI00Zu3pt4GXg1iRrA5nxUNUn/ozvfWWbq1laawW4ZkjSAZJOi887SUr03rGkG+Kf/5H0ZPVHwrHPI0wHfiPwpqSfEXpltSadtd0z5egi6e+Sno2vd5J0ekrhKyVtm1WW7VhfK03aLYTv+eb42CNuS9Jb8c9KSTtkNkraHh8vkjO/neVqFJdrHUjorXM34bbSA4Sup0nJzJ90bYIxanMG0DfOGbYt8CGwfxorOVZzD+H7viS+/hB4hDApYNIuAV6V9DLrl8c9o+6PNJm9ql35j4qzOicpc7v2QuAlSTPi616EectcDjyJuNp8lzAFyNsAZjYv0wUzKZkf7KRnzK3FF5lxAWY2R9K0PCQQgE5mNlzSb2NZKiSlclVsZs9J2oMw5YsB55nZ4jRiE2sDZvZfSK020Dmre/NthI4UxLi7E5YicPXwJOJqs87MTJLBlxPiJapaz6gN3iLh2WSBHpL+L+t1t+zXZvbLBGNnWxWnJs987/uScHfneNtqmZktN7PFklYB3wH6SroppXm8LmJ9bUCEtdaTrg0UA2356tIDJazv9uzq4Q3rrkZxOoo+wOHAnwirvj1oZjcmGLPGWWQzEp5N9pR6Yt+bVOxq5diD0C6zC2FhrM7A8Wb2boIxxwLfjbXNAcALhL/z/kC5maXSSykO7OwbX05Ler4w5WHlzE2RJxFXK0mHA0cQrtRGmNnzKcbuwvop0d+yzWi5WkklhB9TEX5MEx2vIOndTC1P0rVAlZn9WlIRMCnhGmCmDN+rYfNyYHJSf/dp9Tzb1HkScQVH0g+AawiDvjINvBeZ2T/zWa405OnH9MtlcRUWJfutmY2Ir99NKYk8TZjFONMOMZiwnkpv4Irqi1Y1Ucwynx9r43mbiNuApFfN7IBqgw4h3cGGlxB66yyMZepMuMWyyScR4HRq+TGVlMiPKaEn1HBgPrAVMApAUjcgrXVNSggrZ34aY3cB7gP2AV5hfc+9JuMJpGl4EnEbMLMD4p/5bFgsqnbVvYTNZ0xT6j+mhAGVJxAGWh6QdfusK+u7GietZ+aco4Vx21JJPv1IAfMk4r4iruUx1cz65akIz0kaQVggC8IP3LNJBpR0I3UMrEuxd1bqP6ZxadiHa9g+MYl4tRgt6SnCAlEAx8VtWwDLUiyHayBPIu4rzKxS0jRJ26axEFQN8S+KbQMHxE23m9njCYcdH//cH9iJMMAP4PvAewnHzra5/pgOJZxrZjDrfcC/YoLL12qTLgfesO5qJOkVwoCrt8haqMnMvp1gzB2BLmb2WrXtBwDzMwPRkiTpTcItnYr4uhQYY2b71v3JJi3DcaxPoK+x/sfUuYLjNRFXm9/lIeYNwG9r2L48vvetFMqwFdAOyDS6to3bElftNuK/0ohZKKp15GhBmFV3VUodOdxG8CTialR96pFYG/ghYXbVpHQxs8k1lGVyXHc7DX8GJkp6idAj7SDgsjQC5+s2Yh0zBWTKlXgX3+yOHJIEHEuYfsUVOL+d5WolaXfgR4R2gZmE2yo3JRjvIzPrU8t7081sx6RiV4vVldAbCmCsmS1II26MnY/biJmZAobGPzM9wE6KsS9OKnZdfDBg8+BJxG1A0tcINY4fAosJDcwXmlmdU5I0UeyHgFFmdke17T8DDjezExKMXef0F2b2dlKxq5Xj4FriJz4pZU0/2mlNDVJtkGURYQbpg81sUNKx3cbx21muug+AMcAxZjYdQNL5KcU+D3hc0kmEAXYQfkxaEGYVTtJ1dbxnwCEJxw+BzF7O45QvkrR/pmODpP1Ib3xOdntXBTCLcEvLFTivibgNSPoOcCKhq+VzhPEDd5pZogtSVSvDEMIEhBAamkelFTvf8jnlS6yN3Q20j5uWAT9NqxbmmidPIq5GcVzCsYTbWocQ+u0/bmYj81qwFEjahTBWpFVmm5ndl1Lsdwi37jaY8iXppVpjz7Bfmtn1ktoDmFmiU9DHuIUyyNM1kicRVy9JWxEa108ws0PzXZ4kxRUdBxOSyDPAN4BXzez4lOJ/ORlifF0EvJO9LcHYb5nZ3knHqRYzewr+y4E/ZL+f1hT8rvE8iTiXJXZ33Q2YaGa7xfaJB8zs8JTiX0NYxyN7ypfJZvbrFGJfTxif8Qgb9gxLq1OB98Zqhrxh3bkNrTGzKkkVktoR565KK3iepnzJGBD/vCK7SKTUqYA6bmu5wuVJxLkNjZfUAbiD0ENsJfBGymWYAKwwsxcktZG0pZl9nnRQM/M5qlyD+e0s52oRR8m3S3Jp2hpi/hw4Aygzsx0k9QFuTastStLRwM5s2Kngito/sdHxsqc7aQOszrxFeuvXuI3gNRHnqpHUHdiO+P9D0kFm9kpK4YcCewNjAczsI0lbpxFY0q2EH/IhwJ3A8YSR84nJ87o1rgl4EnEui6S/EBqz3wMq42YjLAiVhrVmti5MH/Xleutp3S7Yz8z6xyVxL5d0HQmv4+KaP08izm3oO0BfM1ubp/gvS/p/QGtJhwO/AP6TUuw18c/VkrYhrCjZLaXYrpnaXJYcdS5XMwjdXPPlYmARMBk4kzBW5dKUYj8VOxVcA7xNmHrkobo+4Jw3rDuXRdK/CONEXgS+rI1sbiOnJbUEWqUxat01b347y7kNPRkfqZJ0LNDDzIbF12OBzvHt35jZo7V+uGnLsR/Qi/WdClKb8sU1T14Tca4aSS2Ar8WX08ysPIWYrwEnmtnc+HoScCiwBXB3Gl18Jd0P7ABMIqtTweZWC3MN4zUR57JIGgzcS2gPENBT0ikpdPFtkUkg0atmtgRYEifDTMNAYCdfz901hCcR5zZ0HXCEmU2DLxfpegjYM+G4G6zjbmbnZL3sTDqmAF2B+SnFc5sATyLObag0k0AAzOxDSWn01hor6ec1rOp4JgkP+JP0H8JYlC2B9yS9xYadChJbmtc1f94m4lwWSXcBVcADcdNJQLGZ/TThuFsD/yb8eGdmzd0TaAl8x8w+TTB2ZkleI9zC20AaS/O65suTiHNZYtfWoayfRXcMcHNagw8lHUKYuwpSXNUxLko11cz6pRHPbTo8iThXTVxNEDNblO+ypEnSE8C5ZjYn32VxzYe3iTgHKExW9QfgHOJMDpIqgRuTnMW2wGwFTI1tItmLUnmbiKuVJxHngvOB/YG9zGwmgKTtgVsknW9m1+e1dOn4Xb4L4Jofv53lHGFpVuBwM1tcbXtnYOTmsmyrpO2APpkFsQidChJfEMs1Xz4Bo3NBafUEAl+2i+RzQsbUxAWx/gncFjd1J/QYc65WnkScC9Y18r1NyVDCLb0VEBbEAlJZEMs1X94m4lywm6QVNWwXWUvFbuLyuSCWa6Y8iTgHmFlxvstQAPK5IJZrprxh3TkHgKQi4HTgCEINbARwp0/I6OriScQ551yjecO6c5s5ScdKGpr1eqykGfHx/XyWzRU+TyLOuV+z4WqOLYG9gMHAWfkokGs+vGHdOVcIC2K5ZsprIs65QlgQyzVTnkScc2PjaPUNpLEglmv+vHeWc5u5fC6I5Zo/TyLOOSB/C2K55s2TiHPOuUbzNhHnnHON5knEOedco3kScS6SVClpkqQpkh6NizI19lj3SDo+Pr9T0k517DtY0n6NiDFLUqdct1fbZ2UDY10m6cKGltFt+jyJOLfeGjMbYGa7ENYQ2WC0dpwavcHM7Gdm9l4duwwGGpxEnCsEnkScq9kYYMdYSxgj6UngPUnFkq6RNE7Su3EsBQpukjRN0gtkLeYkabSkgfH5UZLelvSOpBcl9SIkq/NjLehASZ0l/SvGGCdp//jZjpJGSpoq6U7CTLt1kvRvSRPiZ86o9t71cfuLcRlgJO0g6bn4mTGS+jXJt+k2WT7tiXPVxBrHN4Dn4qY9gF3MbGb8IV5uZntJagm8JmkksDvQF9gJ6AK8B9xV7bidgTuAg+KxysxsqaRbgZVmdm3c70HgejN7VdK2hCnZvw78gTAlyRWSjiZM216fn8YYrYFxkv4VpzTZAhhvZudL+n089jnA7cBZZvaRpH2Am4FDGvE1us2EJxHn1mstaVJ8Pgb4O+E201tmNjNuPwLon2nvANoDfYCDgIfMrBKYJ6mmMRb7Aq9kjmVmS2spx2HATpkVBoF2ktrGGN+Ln31a0mc5nNMvJX03Pu8Zy7oEqAIeidsfAB6LMfYDHs2K3TKHGG4z5knEufXWmNmA7A3xx3RV9ibgXDMbUW2/bzZhOYqAfc3sixrKkjNJgwkJaZCZrZY0mtqX+rUYd1n178C5unibiHMNMwI4W1IpgKSvxZluXwFOiG0m3YAhNXz2TeAgSb3jZ8vi9s+BLbP2Gwmcm3khaUB8+grwo7jtG1SbOLEG7YHPYgLpR6gJZRQBmdrUjwi3yVYAMzNriMR2nt3qieE2c55EnGuYOwntHW9LmgLcRqjRPw58FN+7D3ij+gfNbBFwBuHW0Tusv530H+C7mYZ14JfAwNhw/x7re4ldTkhCUwm3tebUU9bngBJJ7wN/JiSxjFXA3vEcDgGuiNtPAk6P5ZsKHJvDd+I2Yz7tiXPOuUbzmohzzrlG8yTinHOu0TyJOOecazRPIs455xrNk4hzzrlG8yTinHOu0TyJOOecazRPIs455xrt/wNBmpisD1FSjwAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_components = 150\n",
    "print('Extracting the top %d eigenfaces from %d faces' % (n_components, X_train.shape[0]))\n",
    "t0 = time()\n",
    "pca = PCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "eigenfaces = pca.components_.reshape((n_components, h, w))\n",
    "\n",
    "print('Projecting the input data on the eigenfaces orthonormal basis')\n",
    "t0 = time()\n",
    "X_train_pca = pca.transform(X_train)\n",
    "X_test_pca = pca.transform(X_test)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "print(\"Fitting the classifier to the training set\")\n",
    "t0 = time()\n",
    "param_grid = {\n",
    "    \"C\": loguniform(1e3, 1e5),\n",
    "    \"gamma\": loguniform(1e-4, 1e-1),\n",
    "}\n",
    "clf = RandomizedSearchCV(\n",
    "    SVC(kernel=\"rbf\", class_weight=\"balanced\"), param_grid, n_iter=10\n",
    ")\n",
    "clf = clf.fit(X_train_pca, y_train)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "print(\"Best estimator found by grid search:\")\n",
    "print(clf.best_estimator_)\n",
    "\n",
    "print(\"Predicting people's names on the test set\")\n",
    "t0 = time()\n",
    "y_pred = clf.predict(X_test_pca)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "\n",
    "print(classification_report(y_test, y_pred, target_names=target_names))\n",
    "ConfusionMatrixDisplay.from_estimator(\n",
    "    clf, X_test_pca, y_test, display_labels=target_names, xticks_rotation=\"vertical\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cff5a257",
   "metadata": {},
   "source": [
    "## 160维的人脸识别识别率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "ccb60123",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Extracting the top 160 eigenfaces from 966 faces\n",
      "done in 0.229s\n",
      "Projecting the input data on the eigenfaces orthonormal basis\n",
      "done in 0.040s\n",
      "Fitting the classifier to the training set\n",
      "done in 8.881s\n",
      "Best estimator found by grid search:\n",
      "SVC(C=7788.974539453739, class_weight='balanced', gamma=0.0019393156851654763)\n",
      "Predicting people's names on the test set\n",
      "done in 0.056s\n",
      "                   precision    recall  f1-score   support\n",
      "\n",
      "     Ariel Sharon       0.71      0.77      0.74        13\n",
      "     Colin Powell       0.77      0.90      0.83        60\n",
      "  Donald Rumsfeld       0.82      0.67      0.73        27\n",
      "    George W Bush       0.91      0.93      0.92       146\n",
      "Gerhard Schroeder       0.87      0.80      0.83        25\n",
      "      Hugo Chavez       0.75      0.60      0.67        15\n",
      "       Tony Blair       0.94      0.83      0.88        36\n",
      "\n",
      "         accuracy                           0.86       322\n",
      "        macro avg       0.82      0.79      0.80       322\n",
      "     weighted avg       0.86      0.86      0.86       322\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x7f126f0aae50>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "n_components = 160\n",
    "print('Extracting the top %d eigenfaces from %d faces' % (n_components, X_train.shape[0]))\n",
    "t0 = time()\n",
    "pca = PCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "eigenfaces = pca.components_.reshape((n_components, h, w))\n",
    "\n",
    "print('Projecting the input data on the eigenfaces orthonormal basis')\n",
    "t0 = time()\n",
    "X_train_pca = pca.transform(X_train)\n",
    "X_test_pca = pca.transform(X_test)\n",
    "print('done in %0.3fs' % (time() - t0))\n",
    "\n",
    "print(\"Fitting the classifier to the training set\")\n",
    "t0 = time()\n",
    "param_grid = {\n",
    "    \"C\": loguniform(1e3, 1e5),\n",
    "    \"gamma\": loguniform(1e-4, 1e-1),\n",
    "}\n",
    "clf = RandomizedSearchCV(\n",
    "    SVC(kernel=\"rbf\", class_weight=\"balanced\"), param_grid, n_iter=10\n",
    ")\n",
    "clf = clf.fit(X_train_pca, y_train)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "print(\"Best estimator found by grid search:\")\n",
    "print(clf.best_estimator_)\n",
    "\n",
    "print(\"Predicting people's names on the test set\")\n",
    "t0 = time()\n",
    "y_pred = clf.predict(X_test_pca)\n",
    "print(\"done in %0.3fs\" % (time() - t0))\n",
    "\n",
    "print(classification_report(y_test, y_pred, target_names=target_names))\n",
    "ConfusionMatrixDisplay.from_estimator(\n",
    "    clf, X_test_pca, y_test, display_labels=target_names, xticks_rotation=\"vertical\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f35e4dd2",
   "metadata": {},
   "source": [
    "### 对比一下10-160维的人脸识别识别率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "8858e501",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# macro avg\n",
    "x_dimension = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160]\n",
    "pre_macro_avg = [0.38, 0.74, 0.78, 0.81, 0.88, 0.89, 0.86, 0.9, 0.86, 0.82, 0.8, 0.91, 0.84, 0.86, 0.8, 0.82]\n",
    "rec_macro_avg = [0.42, 0.63, 0.77, 0.74, 0.77, 0.78, 0.79, 0.75, 0.73, 0.77, 0.76, 0.74, 0.76, 0.73, 0.78, 0.79]\n",
    "f1_score_macro_avg = [0.38, 0.67, 0.77, 0.77, 0.82, 0.82, 0.82, 0.8, 0.78, 0.79, 0.77, 0.8, 0.79, 0.78, 0.78, 0.8]\n",
    "plt.title('macro avg of metrics of fc on different dimensions')\n",
    "plt.xlabel('dimensions')\n",
    "plt.ylabel('macro avg')\n",
    "plt.plot(x_dimension, pre_macro_avg, marker='o', markersize=3)\n",
    "plt.plot(x_dimension, pre_macro_avg, marker='o', markersize=3)\n",
    "plt.plot(x_dimension, f1_score_macro_avg, marker='o', markersize=3)\n",
    "\n",
    "for a, b in zip(x_dimension, pre_macro_avg):\n",
    "    plt.text(a, b, b, ha='center', va='bottom', fontsize=10)\n",
    "for a, b in zip(x_dimension, rec_macro_avg):\n",
    "    plt.text(a, b, b, ha='center', va='bottom', fontsize=10)\n",
    "for a, b in zip(x_dimension, f1_score_macro_avg):\n",
    "    plt.text(a, b, b, ha='center', va='bottom', fontsize=10)\n",
    "    \n",
    "plt.legend(['precision','recall','f1 score'])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "183d071f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# weighted avg\n",
    "pre_weighted_avg = [0.57, 0.76, 0.83, 0.84, 0.86, 0.88, 0.87, 0.88, 0.86, 0.86, 0.84, 0.87, 0.85, 0.86, 0.86, 0.86]\n",
    "rec_weighted_avg = [0.48, 0.76, 0.83, 0.84, 0.86, 0.87, 0.87, 0.87, 0.85, 0.86, 0.84, 0.86, 0.85, 0.85, 0.85, 0.86]\n",
    "f1_score_weighted_avg = [0.51, 0.75, 0.83, 0.83, 0.85, 0.87, 0.86, 0.86, 0.85, 0.86, 0.83, 0.85, 0.85, 0.85, 0.85, 0.86]\n",
    "plt.title('weighted avg of metrics of fc on different dimensions')\n",
    "plt.xlabel('dimensions')\n",
    "plt.ylabel('weighted avg')\n",
    "plt.plot(x_dimension, pre_weighted_avg, marker='o', markersize=3)\n",
    "plt.plot(x_dimension, rec_weighted_avg, marker='o', markersize=3)\n",
    "plt.plot(x_dimension, f1_score_weighted_avg, marker='o', markersize=3)\n",
    "\n",
    "# for a, b in zip(x_dimension, pre_weighted_avg):\n",
    "#     plt.text(a, b, b, ha='center', va='bottom', fontsize=10)\n",
    "# for a, b in zip(x_dimension, rec_weighted_avg):\n",
    "#     plt.text(a, b, b, ha='center', va='bottom', fontsize=10)\n",
    "# for a, b in zip(x_dimension, f1_score_weighted_avg):\n",
    "#     plt.text(a, b, b, ha='center', va='bottom', fontsize=10)\n",
    "    \n",
    "\n",
    "plt.legend(['precision','recall','f1 score'])\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
